首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在后台运行tshark命令并在python中使用子进程退出该命令

在后台运行tshark命令并在Python中使用子进程退出该命令的方法如下:

  1. 导入所需的模块:import subprocess import os
  2. 定义一个函数来执行tshark命令并在后台运行:def run_tshark_command(): # 定义tshark命令 tshark_cmd = "tshark -i eth0 -w output.pcap" # 使用subprocess模块创建子进程并执行tshark命令 subprocess.Popen(tshark_cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, preexec_fn=os.setsid)在上述代码中,我们使用subprocess.Popen函数创建一个子进程来执行tshark命令。shell=True参数表示在shell中执行命令,stdout=subprocess.PIPEstderr=subprocess.PIPE参数用于捕获命令的输出和错误信息,preexec_fn=os.setsid参数用于在子进程中创建一个新的进程组,以便在后续退出时可以杀死整个进程组。
  3. 在需要的地方调用该函数来启动tshark命令:run_tshark_command()调用run_tshark_command()函数后,tshark命令将在后台运行并开始捕获网络数据包。
  4. 如果需要在Python中退出tshark命令,可以使用以下代码:def stop_tshark_command(): # 使用os模块发送SIGTERM信号来终止tshark命令及其子进程 os.killpg(os.getpgid(0), signal.SIGTERM)在上述代码中,我们使用os.killpg函数发送SIGTERM信号来终止tshark命令及其子进程。
  5. 在需要的地方调用stop_tshark_command()函数来停止tshark命令:stop_tshark_command()调用stop_tshark_command()函数后,tshark命令及其子进程将被终止。

这样,你就可以在后台运行tshark命令并在Python中使用子进程退出该命令了。

注意:上述代码中的示例命令是tshark -i eth0 -w output.pcap,你可以根据自己的需求修改为适合的tshark命令。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python 异步: 非阻塞子进程运行命令(19)

我们可以从 asyncio 执行命令命令将在我们可以使用非阻塞 I/O 写入和读取的进程运行。 1....如何直接运行命令 命令命令行(终端或命令提示符)上执行的程序。这是另一个直接运行的程序。...Asyncio create_subprocess_exec() 示例 我们可以探索如何在 asyncio 的进程运行命令。在这个例子,我们将执行“echo”命令来报告一个字符串。...这很有用,因为它不仅允许执行命令,还允许使用 shell 的功能,例如重定向、通配符等。 命令将在执行 asyncio 程序的进程进程执行。...Asyncio create_subprocess_shell() 示例 我们可以探索如何使用 shell asyncio 的进程运行命令

3K40

Linux系统管理工具-iostat、free、ps、netstat、tcpdump

Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况,如果你想知道每个进程如何使用IO的就比较麻烦,使用iotop命令可以很方便的查看。...o:只显示有IO输出的进程。 p:进程/线程的显示方式的切换。 a:显示累积使用量。 q:退出。...ps命令是最基本同时也是非常强大的进程查看命令使用命令可以确定有哪些进程正在运行运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行命令得到的。...单个程序同时运行多个线程完成不同的工作,称为多线程。 分类 用户级线程:管理过程全部由用户程序完成,操作系统内核心只对进程进行管理。 系统级线程(核心级线程):由操作系统内核进行管理。...tshark命令 命令也是用于抓包的。

89340
  • Kali Linux 无线渗透测试入门指南 第九章 无线渗透测试方法论

    这一节,我们会使用 tsharkPython 来收集数据。你会收到代码和完成了什么的解释。 实战时间 – 收集数据 遵循下列指南来开始: 首先,我们需要寻找多个网络的设备。...我们要创建 Python 脚本,执行命令并记录输出用于之后的分析。执行代码之前,你需要确保你准备好了监控接口,并在目录创建了results.txt文件。...脚本: import subproces库和datetime库:这允许我们引用进程和日期时间库。...这个选项所做的就是将命令限制为 100 个查询。这允许我们将节骨哦返回给我们自己,而不需要停止程序。因为我们说过写入结果之后永远运行,这个脚本会再次启动。...我们从探测请求接收输入,并将其使用 Python 输出到文件。 你可能会问自己它的目的是什么。这可以仅仅通过执行原始的tshark命令并添加>> results.txt来完成。

    89230

    linux学习第二十八篇:监控io性能,free命令,ps命令,查看网络状态,linux下抓包

    查看进程:ps命令 ps命令是查看系统进程,静态的一次性的把当前进程使用状况列出来。 常用的命令用法: ps aux ? %MEM:内存百分比。 VSZ:虚拟内存。...TIME:运行了多久。 COMMAND:命令。...PS:线程和进程的关系:线程是属于进程的,线程运行进程空间内,同一进程所产生的的线程共享同一用户内存空间,当进程退出时该进程所产生的线程都会被强制退出并清除。...netstat -an参数stat(状态)的含义如下: 参数 含义 LISTEN 侦听来自远方的TCP端口的连接请求 SYN-SENT 发送连接请求后等待匹配的连接请求 SYN-RECEIVED...等待远程TCP对连接中断的确认 TIME_WAIT 等待足够的时间以确保远程TCP连接收到中断请求的确认 LAST_ACK 等待原来发向远程TCP的连接中断的确认 CLOSED 没有任何连接状态 - 日常工作

    5.5K100

    Kali Linux 无线渗透测试入门指南 第十章 WPS 和 探针

    这一节,我们会使用 tsharkPython 来收集数据。你会收到代码和完成了什么的解释。 实战时间 – 收集数据 遵循下列指南来开始: 首先,我们需要寻找多个网络的设备。...我们要创建 Python 脚本,执行命令并记录输出用于之后的分析。执行代码之前,你需要确保你准备好了监控接口,并在目录创建了results.txt文件。...脚本: import subproces库和datetime库:这允许我们引用进程和日期时间库。...这个选项所做的就是将命令限制为 100 个查询。这允许我们将节骨哦返回给我们自己,而不需要停止程序。因为我们说过写入结果之后永远运行,这个脚本会再次启动。...我们从探测请求接收输入,并将其使用 Python 输出到文件。 你可能会问自己它的目的是什么。这可以仅仅通过执行原始的tshark命令并添加>> results.txt来完成。

    85720

    关于 Linux shell 你必须知道的

    那么对于 Linux 命令行,本文不是介绍某些命令的用法,而是说明一些简单却特别容易让人迷惑的细节问题。 1、标准输入和命令参数的区别。 2、在后台运行命令退出终端后也全部退出了。...可以命令之后加一个&符号,这样命令行不会阻塞,可以响应你后续输入的命令,但是如果你退出服务器的登录,就不能访问网页了。...正常情况下,shell 进程会阻塞,等待进程退出才重新接收你输入的新的命令。加上&号,只是让 shell 进程不再阻塞,可以继续响应你的新命令。...但是无论如何,你如果关掉了这个 shell 命令行端口,依附于它的所有进程都会退出。.../home/fdl/bin/connect.sh 当使用sudo时,系统认为是 root 用户执行命令,所以会去搜索 root 用户的环境变量,而这个脚本 root 的环境变量目录当然是找不到的

    1.8K10

    关于 Linux shell 你必须知道的

    那么对于 Linux 命令行,本文不是介绍某些命令的用法,而是说明一些简单却特别容易让人迷惑的细节问题。 1、标准输入和命令参数的区别。 2、在后台运行命令退出终端后也全部退出了。...可以命令之后加一个&符号,这样命令行不会阻塞,可以响应你后续输入的命令,但是如果你退出服务器的登录,就不能访问网页了。...正常情况下,shell 进程会阻塞,等待进程退出才重新接收你输入的新的命令。加上&号,只是让 shell 进程不再阻塞,可以继续响应你的新命令。...但是无论如何,你如果关掉了这个 shell 命令行端口,依附于它的所有进程都会退出。.../home/fdl/bin/connect.sh 当使用sudo时,系统认为是 root 用户执行命令,所以会去搜索 root 用户的环境变量,而这个脚本 root 的环境变量目录当然是找不到的

    2.1K20

    Linux小课堂之Wait命令

    执行大型自动化流程时,我们需要使几个模块等待到上一组模块完成并返回数据管道进入下一个模块的数据,在这种情况下,我们可以使用Wait命令直到完成上一个模块。 Wait命令如何工作?...例如,如果我们要等待完成特定的进程ID 13245,则当进程13245 完成 wait命令返回13245退出状态的返回值时,应使用“ wait 13245”。...-wait PID(PID-实用程序要等待终止的命令进程ID)。-wait JID(JID-作业ID,标识要等待的后台进程,仅适用于当前Shell执行环境的wait调用)。...Wait 命令退出状态值取决于最后指定的PID / JID。当任何进程异常终止时,退出状态将大于128。 当它没有进程调用并且当前shell知道的所有进程ID都已终止时,Wait命令以0值退出。...示例3 –具有wait命令和返回状态的脚本 “ bar.sh”脚本将调用foo.sh并在后台运行它,获取foo.sh的PID并等待其完成,一旦完成,它将启动bar.sh循环,最后,返回 foo.sh脚本的退出代码

    2.4K20

    Linux 进程后台运行的几种方式(screen)

    Ctrl+z/bg/nohup/setsid/& Linux,如果要让进程后台运行,一般情况下,我们命令后面加上&即可,实际上,这样是将命令放入到一个作业队列中了: ..../rsync.sh & # jobs 但是如上方到后台执行的进程,其父进程还是当前终端shell的进程,而一旦父进程退出,则会发送hangup信号给所有进程进程收到hangup以后也会退出。...如果我们要在退出shell的时候继续运行进程,则需要使用nohup忽略hangup信号,或者setsid将将父进程设为init进程(进程号为1):对于已经在前台执行的命令,也可以重新放到后台执行,首先按...ctrl+z暂停已经运行进程,然后使用bg命令将停止的作业放到后台运行:bg %1,放回前台运行:%1。...上面的试验演示了使用nohup/setsid加上&使进程后台运行,同时不受当前shell退出的影响。那么对于已经在后台运行进程怎么办呢?

    3.9K00

    Python subprocess与命令行交互

    Python subprocess 模块是一个功能强大的库,用于启动和与流程交互。 它附带了一些高级 api,比如调用、检查输出和运行,这些都集中的程序运行和等待完成的进程上。...虽然可以使用 subprocess.run一个线程启动一个进程并在另一个线程与其交互。 但是,当完成了进程之后,要完全终止它将变得非常棘手。...使用底层的 Popen API 异步启动进程(意味着 Popen 立即返回,进程后台运行)。...标准 i/o 意味着可以按行使用(想想所有的 Unix 命令行工具是如何工作的) ; 如果需要子行粒度,stdout 不是正确的方法(使用套接字或其他方法)。...只要子进程运行,线程就会忠实地阻塞 readline; 只要子进程终止,readline 调用返回 b” ,线程就会退出

    7.6K22

    如何使用wifi_db将Aircrack-ng数据解析至SQLite数据库并提取有价值信息

    关于wifi_db  wifi_db是一款功能强大的数据解析脚本,脚本可以将Aircrack-ng数据解析至一个SQLite数据库,并提取出类似握手包、MGT识别信息、AP信息、客户端信息、探针信息...功能介绍  1、显示隐藏网络信息; 2、显示已连接客户端及其各自AP的详细数据; 3、识别连接到AP的客户端探针,从而深入了解流氓AP的潜在安全风险; 4、提取握手信息,并在hashcat中使用以方便破解密码...python3-pip tshark hcxtools 依赖组件安装: sudo apt install tshark sudo apt install python3 python3-pip git...(向右滑动,查看更多) Arch安装 依赖组件: python3 python3-pip tshark hcxtools 依赖组件安装: sudo pacman -S wireshark-qt sudo...XX:XX:XX-defghi对MAC和BSSID进行模糊处理 -t LAT, --lat LAT 新元素插入伪造的纬度数据 -n LON, --lon LON 新元素插入伪造的经度数据

    85280

    Supervisor快速入门 | 使用Supervisor守护Nginx进程

    守护进程 我们生产环境的时候,有些任务是不能停止的,否则业务就会受到影响,那么如何保证这些任务的高可用呢?...那就需要用到我们的守护进程了,比方说我们的进程运行挂掉之后自动恢复等等,这些都可以利用工具来实现,针对不同的项目可以使用不同的工具。...Supervisor 是用 Python 开发的一套通用的进程管理程序,能将一个普通的命令进程变为后台daemon,并监控进程状态,异常退出时能自动重启。...它是通过fork/exec的方式把这些被管理的进程当作supervisor的进程来启动,这样只要在supervisor的配置文件,把要管理的进程的可执行文件的路径写进去即可。...可以理解为执行命令前会切换到这个目录 我这基本没啥用 autostart=true #是否自动启动 autorestart=true #程序意外退出是否自动重启 redirect_stderr=true

    11.8K30

    使用 python 快速搭建http服务 传输服务,下载服务器资源

    但是这条命令是当前运行的,不是后台运行的,也就是说如果Ctrl + C,则端口就会关闭。...python -m SimpleHTTPServer 8000 & 在上述命令的最后加一个 & ,则命令产生的进程后台运行,不会影响当前终端的使用(我们只有一个bash的环境下)。...生成的新的进程为当前bash的进程,所以,当我们关闭当前bash时,相应的进程也会被kill掉,这也不是我们想要的结果。...nohup python -m SimpleHTTPServer 8000 & 命令的开头加一个nohup,忽略所有的挂断信号,如果当前bash关闭,则当前进程会挂载到init进程下,成为其进程...,这样即使退出当前用户,其8000端口也可以使用

    1.9K20

    一个强大到可让任何程序秒变系统服务的神器 EasyService,你会用吗?

    然后创建一个进程运行 Worker 中指定的程序及命令行参数并监视进程。如果发现进程停止运行,会重新启动一个进程。...而当此服务停止时,会向进程的标准输入写入数据 “exit” ,并等待进程退出,如果等待时间超过 10 秒,则直接终止进程。...强制要求:程序应持续运行 建议:当程序的标准输入接收到 “exit” 后 10 秒之内退出 这类型典型的程序有很多,比如:命令行内网穿透 frp 工具、各种 Nodejs、Python 小工具等等。...运行 svc install 命令注册并启动系统服务,此时你的程序就已经开始运行了。即便用户注销也不会停止运行,且系统开机后、用户登录之前就会自动运行。你服务管理控制台中也可以查看已注册的服务。...注意:Windows 10 系统下,需要先在开始菜单搜索 cmd 命令。然后右键以管理员身份运行后,再切换到 svc.conf 所在的目录并执行以上命令

    1.1K20

    解决subprocess.CalledProcessError: Command ‘‘

    我们的例子状态码为1。解决方法要解决这个问题,我们需要考虑以下几个方面:1. 检查命令是否正确首先,我们需要确保我们执行的命令是正确的。...我们应该检查命令是否正确,并且命令使用正确的参数和文件名。2. 检查Graphviz是否已正确安装在我们的例子,我们使用​​dot​​命令来生成PDF格式的图形。...注意:实际应用,可能还需要根据具体情况进行一些参数的设置和错误处理的优化,以确保代码的稳健性和可靠性。subprocess模块是Python中用于创建和管理进程的标准库之一。...进程操作系统是独立运行进程,它可以执行不同的命令、程序或脚本。进程模块可以帮助我们Python程序启动、控制和与进程进行数据交换。...这些函数可以从Python程序启动另一个可执行文件、脚本或系统命令,并等待其完成。 下面介绍一下这几个常用的函数:run(): 这个函数用于运行一个进程,并等待其执行完成。

    78860

    Supervisor管理进程

    1.Supervisor简介 Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令进程变为后台daemon,并监控进程状态,异常退出时能自动重启。...,xx是进程的名称 [program:xx] command=python /home/test.py ; 程序启动命令 autostart=true ; supervisord启动的时候也自动启动...command:启动程序使用命令,可以是绝对路径或者相对路径 process_name:一个python字符串表达式,用来表示supervisor进程启动的这个的名称,默认值是%(program_name...false:进程不会自动重启,unexpected:当程序退出时的退出码不是exitcodes定义的时,进程会重启,true:进程会无条件重启当退出的时候。...user:如果supervisord以root运行,则会使用这个设置用户启动子程序 redirect_stderr:如果设置为true,进程则会把标准错误输出到supervisord后台的标准输出文件描述符

    6.5K1901

    Supervisor使用详解

    一、supervisor简介 Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令进程变为后台daemon,并监控进程状态,异常退出时能自动重启。...进程配置文件路径:/etc/supervisord.d/ 注:默认进程配置文件为ini格式,可在supervisor主配置文件修改。...; supervisord启动的时候也自动启动 startsecs=10 ; 启动10秒后没有异常退出,就表示进程正常启动了,默认为1秒 autorestart=true...es //启动es supervisorctl restart //重启es supervisorctl update //配置文件修改后使用命令加载新的配置 supervisorctl...无法检测后台启动进程的pid,而supervisor本身就是后台启动守护进程,因此不用担心这个 启动了多个supervisord服务,导致无法正常关闭服务 问题描述:在运行supervisord

    60820

    100个Linux命令(7)-进程管理

    对于cpu 如何选择下一个要执行的进程 Linux ,决定下一个要运行进程是通过“调度类”(调度程序)来实现的。...那是否可以理解为所有命令、脚本其运行环境都是shell呢?显然,上面所说的bash内置命令不是shell运行的。其他的所有方式,都是shell完成,只不过方式不尽相同。...一般的方法也是最简单的方法是使用nohup命令带上要执行的命令或脚本放入后台,这样任务就脱离了终端的关联。当终端退出时,任务将自动挂到init(或systemd)进程下执行。...一般对于简单的后台持续运行进程使用nohup足以。 另外,shell后台进程终端被关闭时也会脱离终端,因此也不受shell和终端的控制。...三种方式可以改变因终端中断发送sighup而导致进程也被结束的行为:一是使用nohup命令启动进程,它会忽略所有的sighup信号,使得该进程不会随着终端退出而结束;二是将待执行命令放入shell并放入后台运行

    1.7K20
    领券