Digamos que quiero matar todos los procesos que contienen la palabra amarok. Puedo imprimir los comandos que quiero ejecutar. Pero, ¿cómo hago para que el shell los ejecute? es decir.
ps aux | grep -ie amarok | awk '{print "kill -9 " $2}'
Output:
kill -9 3052
kill -9 3071
kill -9 3076
kill -9 3077
kill -9 3079
kill -9 3080
kill -9 3082
kill -9 3083
kill -9 3084
kill -9 3085
kill -9 3086
kill -9 3087
kill -9 3088
kill -9 3089
kill -9 4031
shell
command-line
kill
PuercoPop
fuente
fuente

| sh -xdespués del resto de su línea de comando?kill -9en un proceso ver [gestión de procesos] [1] [1]: mywiki.wooledge.org/… ...amarokxproceso también? Hago vi, mata losupervisorctlque contiene 'vi' en la palabra.-9es bastante inútil: ¿hay alguna información mejor sobre por qué las personas no deberían usarlo? Simplemente dice "no lo hagas, y despide a las personas que lo usan"; pero todo lo que he visto en cualquier otro lugar es quekill -9 {pid}es cómo matar algo ...Respuestas:
De
man 1 pkillLo que significa, por ejemplo, si vemos estas líneas en
ps aux:Podemos matarlos a todos usando la
-fopción pkill :fuente
-9al final!httpdxproceso también? Hago vi, mata losupervisorctlque contiene 'vi' en la palabra.-ilikepkill -fi wine. Para verificar antes y después, useps uax | grep -i wine.xargs (1): xargs - construye listas de argumentos y ejecuta la utilidad. Útil cuando quieres canalizar argumentos sobre algo así
killo algolsasí.fuente
ps aux | grep -ie amarok | grep -v grep | awk '{print $2}' | xargs kill -9(grep -vsignificagrep --invert)utilizar
pgrepfuente
pkill -9 amarokkill -9 $(pgrep -f amarok)La forma segura de hacer esto es:
fuente
-lbandera. De hecho, simplemente me aliaspkillparapkill -flpoder ejecutar algo comopkill jbossy escupirá el proceso que acaba de matar.amarokxproceso también? Hago vi, mata losupervisorctlque contiene 'vi' en la palabra.pkill: invalid option -- 'l'- pkill de procps-ng 3.3.12Creo que este comando killall es exactamente lo que necesitas. El comando se describe como "matar procesos por nombre". Es fácil de usar. Por ejemplo
Este comando matará todo el proceso de Chrome. Aquí hay un enlace sobre el comando killall
http://linux.about.com/library/cmd/blcmdl1_killall.htm
Espero que este comando te pueda ayudar.
fuente
ps auxla salidapkill -x coincide exactamente con el nombre del proceso.
pkill -f es similar pero permite un patrón de expresión regular.
Tenga en cuenta que pkill sin otros parámetros (por ejemplo, -x, -f) permitirá coincidencias parciales en los nombres de los procesos. Entonces "pkill amarok" mataría a amarok, amarokBanana, bananaamarok, etc.
¡Ojalá -x fuera el comportamiento predeterminado!
fuente
amarokxproceso también? Hago vi, mata losupervisorctlque contiene 'vi' en la palabra.Si desea ejecutar la salida de un comando, puede ponerlo dentro
$(...), sin embargo, para su tarea específica, eche un vistazo a los comandoskillallypkill.fuente
También puede evaluar su salida como un subproceso, rodeando todo con ticks de retroceso o poniéndolo dentro de $ ():
fuente
pruebe kill -s 9
ps -ef |grep "Nov 11" |grep -v grep | awk '{print $2}'para eliminar los procesos del 11 de noviembre o kill -s 9ps -ef |grep amarok|grep -v grep | awk '{print $2}'para eliminar los procesos que contienen la palabra amarokfuente
¿Quizás agregar los comandos al archivo ejecutable, configurar + x permiso y luego ejecutar?
fuente
Si está usando cygwin o algún shell mínimo que carece
killall, puede usar este script:killall.sh: matar por nombre de proceso.
Uso:
fuente
kill: invalid argument f