ver usuario procesos ejecucion corriendo comando aux administracion unix process pid

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.

  1. variable = obtener pid del proceso por nombre de proceso.
  2. 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>