PDA

Ver la Versión Completa : pidof: conocer el PID de un proceso



Xripox
18/05/2009, 13:14
PID es la abreviatura de Process ID es decir es el identificador de un proceso, un numero que identifica de manera inequivoca a un proceso.
Si queremos conocer el PID de un proceso, generalmente, podemos ejecutar el comando “ps” con un filtro “grep”. Ejemplo:

ps -ef | grep firefox
Nos devuelve informacion de los procesos “firefox” que tengamos en ejecucion. El PID seria la segunda columna.
Pero en Sistemas Linux, podemos obtener todos de golpe con pidof ([Only registered and activated users can see links])

pidof firefox
Un ejemplo de todo ello con el proceso “bash”:

[Only registered and activated users can see links]
28206 12796 12580 11754 11727 9547 8955 5332
[Only registered and activated users can see links]
jose 5332 5330 0 May16 pts/0 00:00:00 bash
root 8955 5332 0 May16 pts/0 00:00:00 /bin/bash
jose 9547 5330 0 May16 pts/1 00:00:00 bash
jose 11727 5330 0 10:05 pts/2 00:00:00 bash
root 11754 11727 0 10:05 pts/2 00:00:00 /bin/bash
jose 12580 5330 0 10:17 pts/3 00:00:00 bash
root 12796 12580 0 10:21 pts/3 00:00:00 /bin/bash
root 22853 12796 0 15:42 pts/3 00:00:00 grep bash
root 28206 9547 0 May16 pts/1 00:00:00 /bin/bash
Como veis nos devuelve los mismos PIDs (en el caso de bash).
¿Y la utilidad?. Pues depende, por ejemplo podriamos usarlo para matar procesos de forma rapida. En este caso la salida de pidof podria ser la entrada de otro comando encargado de ello.
Y siempre es mas rapido ejecutar:

pidof proceso
que

ps -ef | grep "proceso" | grep -v "grep" | awk '{print $2}'
Que nos devuelve los PID de los procesos “bash” excluyendo “grep bash”
Es decir:

[Only registered and activated users can see links]
5332
8955
9547
11727
11754
12580
12796
22868
28206
[Only registered and activated users can see links]
28206 22868 12796 12580 11754 11727 9547 8955 5332




Fuente: ubuntulife