2014-11-13 4 views
5

У меня есть этот процесс запущен:Pkill -f не работает для процесса убийства

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 все процессы согласования?

ответ

0

Попробуйте использовать kill команду, а

kill -9 <pid> 

Он будет работать точно, потому что я пробовал сам и очень удобно все времена.

Используйте следующую команду в файл сценария затем запустить цикл с kill командой,

ps|grep torrent|cut -f1 -d' ' 

как это цикл, как показано ниже, так как точная копия рабочего из моей системы;

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

Надеюсь, это поможет вам в конце концов.

+0

Я отредактировал мой вопрос, спасибо :) –

+0

@Limzhenxiang еще раз проверьте, я обновил ответ согласно вашему новому требованию. – Skynet

5

Как видите, процесс выполняется с помощью команды экрана.

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

Из-за этого вы не можете kill процесс с командой, что вы использовали.

Чтобы убить процесс, сначала найдите идентификатор процесса PID и затем используйте команду kill с PID. Как

$ **kill -9 342** 

Также, глядя из списка процессов, видно, что вы начали один и тот же процесс много раз с разным разрешением. Поэтому я предлагаю вам убить всех, кроме тех, которые необходимы.

EDIT: Эта единственная команда будет достаточной;

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

Вот что он делает:

  1. пс топор: перечислите процесс
  2. Grep: Grep для из милиции имени процесса
  3. AWK: чтобы получить только PID портретируемого, процесс из выхода grep
  4. xargs sudo kill -9: xargs будет проходить один за другим PID-номер, чтобы убить команду
+0

Я отредактировал мой вопрос –

+0

Я не вижу никаких крупных «РЕДАКТОРОВ», кроме включения тега 'kill-process' –

+0

извините, пожалуйста, проверьте еще раз. Я просто добавляю свое редактирование –

Смежные вопросы