2014-11-13 19 views
5

ho questo processo in esecuzione:pkill -f non funziona per il processo di uccisione

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/ 

ho provato a correre:

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

Ma il processo ancora in esecuzione.
Come faccio a forzare i processi che contengono: "http://zoink.it/torrent/732A4A9B54B7E3A916C2835D936D985942F65A6D.torrent"?


domanda come modificata di seguito:

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

voglio uccidere tutti i processi che contengono la stringa di cui sopra.

ho provato a fare funzionare la linea di cui sopra, e restituisce tre risultati:

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 

Come si esegue questa linea:

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

..con php, e kill -9 tutti i processi corrispondenti?

risposta

0

tenta di utilizzare il comando kill piuttosto

kill -9 <pid> 

Si lavorerà per certo, perché io ho provato io stesso e molto pratico tutti i tempi.

Utilizza il seguente in un file di script quindi eseguire ciclo for con kill comando,

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

come questo ciclo for come mostrato di seguito, come copia esatta di lavoro dal mio sistema;

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

Spero che questo ti aiuti finalmente.

+0

Ho modificato la mia domanda, grazie :) –

+0

@Limzhenxiang controllare di nuovo, ho aggiornato la risposta secondo il vostro nuovo requisito. – Skynet

5

Come si può vedere, il processo viene eseguito con il comando dello schermo.

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

A causa di questo non si può kill il processo con il comando ciò che avete utilizzato.

Per interrompere il processo, cercare prima l'ID di processo PID del processo e quindi utilizzare il comando kill con il PID. Come

$ **kill -9 342** 

cercando anche dalla lista dei processi, si vede che si è avviato il processo stesso più volte con il permesso di diverso. Quindi ti suggerisco di uccidere tutti tranne uno che è necessario.

MODIFICA: Questo singolo comando sarebbe sufficiente;

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

Ecco ciò che fa:

  1. ps ax: elencare il processo
  2. grep: grep per il nome del processo requred
  3. awk: per ottenere solo il PID del del processo da grep ouput
  4. xargs sudo kill -9: xargs passerà uno per uno il numero PID per uccidere il comando
+0

Ho modificato la mia domanda –

+0

Non vedo alcun 'EDITS' principale tranne che per l'inclusione del tag 'kill-process' –

+0

scusa, per favore controlla di nuovo. Appendo solo la mia modifica –