risposta-alla-domanda-sullo-sviluppo-web-bd.com

Come dare argomenti per uccidere via pipe

Devo cercare un determinato processo e uccidere quel processo. Ho scritto un comando come questo:

ps -e | grep dmn | awk '{print $1}' | kill

Dove il nome del processo è dmn. Ma non sta funzionando. Come posso trovare i processi per nome e kill loro.

53
user567879
kill $(ps -e | grep dmn | awk '{print $1}')
113
Daniel Persson

Nel caso in cui ci siano più processi che si desidera rimuovere, è possibile utilizzare questo:

ps -efw | grep dmn | grep -v grep | awk '{print $2}' | xargs kill

Nota: è necessario rimuovere il processo grep stesso dall'output, per questo viene utilizzato grep -v grep.

33
jcollado

Potresti usare

pkill dmn 

se il tuo sistema ha il comando pkill .

14
unutbu

Aggiungo solo ad altri, ma mi piace usare la capacità delle caratteristiche regex di awk:

kill $(ps | awk '/dmn/{print $1}')
4
pedmiston

Se hai il comando pidof sul tuo sistema (so che shell come ZSH vengono con questo di default, a meno che non mi sbagli), potresti fare qualcosa del genere. 

kill -9 $(pidof dmn)
3

Puoi anche usare killall :

killall dmn
1
SKi
for procid in $(ps -aux | grep "some search" | awk '{print $2}'); do kill -9 $procid; done

ciao amici .. possiamo farlo usando per ciclo. 

"Some search" è qui qualsiasi nome di processo che si desidera cercare, ad esempio "Java", quindi diciamo che il conteggio del processo Java è 200+ quindi uccidere uno ad uno sarà troppo tipico.

quindi puoi usare il comando precedente.

Grazie.

0
Nishant

Potresti non aver bisogno di pipe per questo, se hai il comando pidof e conosci il nome dell'immagine, l'ho fatto in questo modo:

kill $(pidof synergyc)

$() Lo capisco perché converte quell'output in una variabile che kill può usare, essenzialmente come farebbe pipe. Più breve e più facile da capire rispetto ad alcune altre opzioni, ma forse anche meno flessibile e più diretto.

0
NotVeryPythonic