unix - usuario - ¿Cómo obtener el PID del proceso especificando el nombre del proceso y almacenarlo en una variable para usar más?
ver procesos de un usuario linux (5)
Al usar el comando "ucbps" puedo obtener todos los PID
$ ucbps
Userid PID CPU % Mem % FD Used Server Port
=========================================================================
512 5783 2.50 16.30 350 managed1_adrrtwls02 61001
512 8896 2.70 21.10 393 admin_adrrtwls02 61000
512 9053 2.70 17.10 351 managed2_adrrtwls02 61002
Quiero hacerlo así, pero no sé cómo hacerlo.
- variable = obtener pid del proceso por nombre de proceso.
- Luego usa este comando kill -9 variable.
En una sola línea ...
pgrep -f process_name | xargs kill -9
Otra posibilidad sería usar pidof
que generalmente viene con la mayoría de las distribuciones. Le devolverá el PID de un proceso dado usando su nombre.
pidof process_name
De esta manera usted podría almacenar esa información en una variable y ejecutar kill -9
en ella.
#!/bin/bash
pid=`pidof process_name`
kill -9 $pid
Si quieres matar a -9 basado en una cadena (quizás quieras intentar matar primero) puedes hacer algo como esto:
ps axf | grep <process name> | grep -v grep | awk ''{print "kill -9 " $1}''
Esto le mostrará lo que está a punto de matar (muy, muy importante) y simplemente lo sh
a sh
cuando llegue el momento de ejecutar:
ps axf | grep <process name> | grep -v grep | awk ''{print "kill -9 " $1}'' | sh
use grep [n] ame para eliminar el nombre de grep -v, este es el primero ... En segundo lugar, usar xargs de la forma en que está arriba es incorrecto que rnu sea lo que sea que esté canalizado, debe usar -i (modo interactivo); Puede tener problemas con el comando.
ps axf | grep | grep -v grep | awk ''{print "kill -9" $ 1}''? ps aux | grep [n] ame | awk ''{print "kill -9" $ 2}''? ¿No es eso mejor?
pids=$(pgrep <name>)
le dará los pids de todos los procesos con el nombre dado. Para matarlos a todos, utiliza
kill -9 $pids
Para abstenerse de usar una variable y eliminar directamente todos los procesos con un problema de nombre dado
pkill -9 <name>