首页
学习
活动
专区
圈层
工具
发布

subprocess.popen.kill杀死所有子进程

subprocess.Popen.pid可显示子进程的id,但这只是打开的shell的id,如果此时使用pid.kill是无法杀掉所有子进程的。..."], close_fds=True, preexec_fn = os.setsid) print p.pid   time.sleep(5) # p.kill() #无法杀掉所有子进程,只能杀掉子shell...的进程 # p.terminate()  #无法杀掉所有子进程 os.killpg( p.pid,signal.SIGUSR1) time.sleep(3) 注意: close_fds=True,此时除了文件描述符为...( Linux中所有的进程都是进程0的子进程。 pid=1的是init,内核完成之后启动的第一个进程,然后init根据/etc/inittab的内容再去启动其它进程。)...format(cmd))                 # 当shell=True时,只有os.killpg才能kill子进程                 try:

6.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux下批量Kill多个进程

    ps -ef|grep php|grep -v grep|cut -c 9-15|xargs kill -9 管道符"|"用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。...下面说说用管道符联接起来的 几个命令: "ps - ef"是linux 里查看所有进程的命令。这时检索出的进程将作为下一条命令"grep mcfcm_st"的输入。..."grep mcfcm_st"的输出结果是,所有含有关键字"mcfcm_st"的进程,这是Oracle数据库中远程连接进程的共同特点。..."xargs kill -9"中的xargs命令是用来把前面命令的输出结果(PID)作为"kill -9"命令的参数,并执行该令。..."kill -9"会强行杀掉指定进程,这样就成功清除了oracle的所有远程连接进程。其它类似的任务,只需要修改"grep php"中的关键字部分就可以了。

    12.5K80

    linux 批量杀死多个进程 kill

    (ps|grep python|awk '{print $1}')|xargs kill -9 管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。...下面说说用管道符联接起来的 几个命令: “ ps - ef”是Red Hat 里查看所有进程的命令。这时检索出的进程将作为下一条命令“grep LOCAL=NO”的输入。...“grep LOCAL=NO”的输出结果是,所有含有关键字“LOCAL=NO”的进程,这是Oracle数据库中远程连接进程的共同特点。...“xargs kill -9”中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -9”命令的参数,并执行该令。...“kill -9”会强行杀掉指定进程,这样就成功清除了oracle的所有远程连接进程。其它类似的任务,只需要修改“grep LOCAL=NO”中的关键字部分就可以了。

    6.7K20

    Linux使用KILL 0检测进程是否存在

    之前遇到过kill( pid, 0 )的情况,由于平常没注意到kill函数的形参为0的情况,不知道它的作用。后面用man 2 kill命令查看了下kill函数的说明,发现可以用来检测进程的存在情况。...1 关于kill 0的说明1 从上图DESCRIPTION区域的文字可以看出,kill函数中的形参sig是0的话,那么不会向pid进程发送任何信号,但是仍然会继续检测错误(进程ID或者进程组ID是否存在...FileName chk_signal_exist.c * @Describe A simple example for checking if a proccess is existing in linux...\n", p ); } GO_FREE(p); return 0; } 3 测试执行 使用《Linux C/C++工程中可生成ELF、动/静态库文件的通用Makefile》一文中的...它只是kill函数中的一个普通形参而已,大于0的时候发送对应信号给某个进程,等于0的时候表示检测某个进程是否存在。

    3.6K10

    进程kill问题

    背景 今天用jps查看进程时发现了几个进程,我希望把他们批量删除了 kill 尝试用kill -9删除,但是一个一个删除太麻烦了,我换了个方法 管道 先用ps命令查出所有进程,然后grep找到我想要的进程...,awk用于取出第二列的进程号 ,再用xargs传递参数kill ps -aux | grep java | awk '{print $2}' | xargs kill -9 无法kill 再用jps...查看下,好家伙,一个没删掉 原因一:这是个僵尸进程(父进程因为某种原因没有接收到子进程的Exit信号),等待父进程的回收 原因二:这个进程处于核心态,不接受信号 /proc 为了排查问题,我进入了/proc...目录,这里保存了每一个运行进程的对应目录 选择进入13547进程目录,cat status文件 可以发现该进程的父进程是13546,再kill掉这个父进程就会发现这个子进程也被kill掉啦

    2K30

    centos批量kill进程

    ps -ef|grep php|grep -v grep|cut -c 9-15|xargs kill -9 管道符"|"用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。...下面说说用管道符联接起来的 几个命令: "ps - ef"是linux 里查看所有进程的命令。这时检索出的进程将作为下一条命令"grep mcfcm_st"的输入。..."grep mcfcm_st"的输出结果是,所有含有关键字"mcfcm_st"的进程,这是Oracle数据库中远程连接进程的共同特点。..."xargs kill -9"中的xargs命令是用来把前面命令的输出结果(PID)作为"kill -9"命令的参数,并执行该令。..."kill -9"会强行杀掉指定进程,这样就成功清除了oracle的所有远程连接进程。其它类似的任务,只需要修改"grep php"中的关键字部分就可以了。

    1.3K20

    Linux kill, killall, kill -9

    然而,如果进程启动了子进程,只杀死父进程,子进程仍在运行,因此仍消耗资源。为了防止这些所谓的“僵尸进程”,应确保在杀死父进程之前,先杀死其所有的子进程。  ...5) kill -l 例如: kill -l PID  -l 选项, 告诉kill命令用好像启动进程的用户已注销的方式结束进程。当使用该选项时,kill命令也试图杀死所留下的子进程。...但这个命令也不是总能成功--或许仍然需要先手工杀死子进程,然后再杀死父进程。  6) kill -HUP 有时候只想简单的停止和重启进程。...-nr --exclude-dir=".svn" --binary-files=without-match 参考推荐: linux下杀死进程(kill)的N种方法 Linux 杀死进程方法大全(kill...,killall) linux杀掉进程,fuser、kill、pkill命令的运用

    7.6K20

    linux中ps配合Kill进程的N种方法

    : $ kill -s 9 1827 其中-s 9 制定了传递给进程的信号是9,即强制、尽快终止进程。...然后就是老生常谈: $kill -s 9 1827 无论使用ps 然后慢慢查找进程PID 还是用grep查找包含相应字符串的进程,亦或者用pgrep直接查找包含相应字符串的进程PID,然后手动输入给kill...改进4: $ps -ef | grep firefox | grep -v grep | cut -c 9-15 | xargs kill -s 9 说明: “grep firefox”的输出结果是,所有含有关键字...就把进程相应的PID通过xargs传递给kill作参数,杀掉对应的进程。 改进7: 难道每次都要调用xargs把PID传递给kill?...$killall -9 firefox 附录:各种信号及其用途 SignalDescriptionSignal number on Linux x86[1]SIGABRTProcess aborted6SIGALRMSignal

    4.9K41

    Linux系统进程编程之回收子进程(三)

    “僵尸进程”是一个早已死亡的进程,而且“僵尸子进程”已经放弃了几乎所有的内存空间,没有任何可执行代码,也不能被调度,但在进程表(processs table)中仍占了一个位置(slot),记载该进程的退出状态信息供其他进程收集...那么说了这么多,我们该怎么样来回收Linux系统的僵尸进程呢?...返回值是子进程的ID,当前父进程有可能有多个子进程,wait函数阻塞直到其中一个子进程结束wait就会返回,wait的返回值就可以用来判断到底是哪一个子进程本次被回收了: wait(): on success...此时如果父进程执行waitpid时子进程已经先结束等待回收则waitpid直接回收成功,返回值是回收的子进程的PID; 如果父进程waitpid时子进程尚未结束则父进程立刻返回(非阻塞),但是返回值为...上面的源代码链接:https://github.com/1121518wo/linux-/tree/master

    4.4K20
    领券