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 все соответствующие процессы?

8

Решение

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

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

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

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

$ **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. grep: grep для требуемого имени процесса
  3. awk: получить только PID процесса из вывода grep
  4. xargs sudo kill -9: xargs передаст один за другим PID номер для команды kill
8

Другие решения

Попробуй использовать 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

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

6

Если у вас есть этот процесс зомби, открытый в терминале, вы можете Ctrl+z это, который на большинстве оболочек позволяет процессу работать в фоновом режиме и выводит что-то вроде:

[1]  + 69880 suspended  someprocess

Затем вы можете убить его с помощью:

kill -9 69880

тот же идентификатор, который был показан при приостановке.

0
По вопросам рекламы [email protected]