Pkill -f不适用于进程终止

时间:2014-11-13 05:39:09

标签: php linux kill-process termination pkill

我正在运行此流程:

342 pts/2    T    0:00 sh -c sudo screen /usr/bin/python /usr/bin/btdownloadcurses "http://zoink.it/torrent/732A4A9B54B7E3A916C2835D936D985942F65A6D.torrent" --display_interval 20 --saveas "/srv/"
343 pts/2    T    0:00 sudo screen /usr/bin/python /usr/bin/btdownloadcurses http://zoink.it/torrent/732A4A9B54B7E3A916C2835D936D985942F65A6D.torrent --display_interval 20 --saveas /srv/
344 pts/2    T    0:00 screen /usr/bin/python /usr/bin/btdownloadcurses http://zoink.it/torrent/732A4A9B54B7E3A916C2835D936D985942F65A6D.torrent --display_interval 20 --saveas /srv/

我试图跑:

pkill -f http://zoink.it/torrent/732A4A9B54B7E3A916C2835D936D985942F65A6D.torrent

但过程仍在进行中 如何强制终止包含以下内容的进程:" http://zoink.it/torrent/732A4A9B54B7E3A916C2835D936D985942F65A6D.torrent" ?


下面编辑的问题:

ps ax | grep 'Momomoko.E01.140011.HDTV.H264.720p.mp4'

我想杀死包含上述字符串的所有进程。

我尝试运行上面的行,它返回三个结果:

  342 pts/2    T    0:00 sh -c sudo screen /usr/bin/python /usr/bin/btdownloadcurses "http://zoink.it/torrent/732A4A9B54B7E3A916C2835D936D985942F65A6D.torrent" --display_interval 20 --saveas "/srv/Momomoko.E01.140011.HDTV.H264.720p.mp4"
  343 pts/2    T    0:00 sudo screen /usr/bin/python /usr/bin/btdownloadcurses http://zoink.it/torrent/732A4A9B54B7E3A916C2835D936D985942F65A6D.torrent --display_interval 20 --saveas /srv/Momomoko.E01.140011.HDTV.H264.720p.mp4
  344 pts/2    T    0:00 screen /usr/bin/python /usr/bin/btdownloadcurses http://zoink.it/torrent/732A4A9B54B7E3A916C2835D936D985942F65A6D.torrent --display_interval 20 --saveas /srv/Momomoko.E01.140011.HDTV.H264.720p.mp4

如何运行此行:

ps ax | grep 'Momomoko.E01.140011.HDTV.H264.720p.mp4'

..用php和kill -9所有匹配的进程?

3 个答案:

答案 0 :(得分:8)

如您所见,该过程正在使用screen命令运行。

sh -c sudo screen /usr/bin/python
sudo screen /usr/bin/python
screen /usr/bin/python

由于这个原因,您不能使用命令kill进行过程。

要终止进程,首先搜索进程的PID进程ID,然后对PID使用kill命令。像

$ **kill -9 342**

同样从您的流程列表中可以看出,您已经多次使用不同的权限启动了相同的流程。所以我建议你杀死所有需要的东西。

编辑: 这个单一命令就足够了;

$ ps ax | grep 'Momomoko.E01.140011.HDTV.H264.720p.mp4' | awk -F ' ' '{print $1}' | xargs sudo kill -9

这是它的作用:

  
      
  1. ps ax:列出流程
  2.   
  3. grep:grep for the requred process name
  4.   
  5. awk:从grep ouput
  6. 中仅获取进程的PID   
  7. xargs sudo kill -9:xargs将逐个传递一个PID号来杀死命令
  8.   

答案 1 :(得分:7)

尝试使用kill命令

kill -9 <pid>

它肯定会起作用,因为我自己尝试过并且非常方便。

在脚本文件中使用以下命令,然后使用kill命令

运行for循环
ps|grep torrent|cut -f1 -d' '

像这样的for循环,如下所示,作为我系统的精确工作副本;

for p in `ps|grep torrent|cut -f1 -d' '`; do
   kill -9 $p
done

我希望这最终会帮助你。

答案 2 :(得分:0)

如果您在终端中打开了该僵尸进程,则可以Ctrl+z进行操作,在大多数shell上,该进程都可以在后台运行并输出以下内容:

[1]  + 69880 suspended  someprocess

然后您可以使用以下方法将其杀死:

kill -9 69880

与暂停时显示的ID相同。