running - Linux/Bash, ¿usa ps-o para obtener el proceso por nombre específico?
show process linux terminal (5)
Algunas veces necesita grep el proceso por su nombre, en ese caso:
ps aux | grep simple-scan
Ejemplo de salida:
simple-scan 1090 0.0 0.1 4248 1432 ? S Jun11 0:00
Intento usar el comando ps -o para obtener información específica sobre los procesos que coinciden con un nombre determinado. Sin embargo, estoy teniendo algunos problemas con esto, cuando trato de usar esto incluso para obtener todos los procesos, como tal, simplemente devuelve un subconjunto de lo que devolvería un ps -ef
normal (no devuelve casi el mismo número de resultados por lo que no devuelve todos los procesos en ejecución)
ps -ef -o pid,time,comm
Quiero probar algo como esto (abajo) pero incorporar el ps -o para obtener información específica de él (solo el PID)
ps -ef |grep `whoami`| grep firefox-bin
Cualquier consejo es apreciado en cuanto a cómo hacer esto correctamente, gracias
Esto es un poco antiguo, pero supongo que lo que quieres es: ps -o pid -C PROCESS_NAME, por ejemplo:
ps -o pid -C bash
EDITAR: Dependiendo del tipo de salida que esperas, pgrep
sería más elegante. Esto, en mi conocimiento, es específico de Linux y resulta en un resultado similar al anterior. Por ejemplo:
pgrep bash
Esto le dará el PID de un proceso por nombre:
pidof name
Que luego puede volver a conectar a ps para obtener más detalles:
ps -p $(pidof name)
Lo siento, es muy tarde para la fiesta, pero agregaré aquí que si quisieras capturar procesos con nombres idénticos a tu cadena de búsqueda, podrías hacer
pgrep -x PROCESS_NAME
-x Require an exact match of the process name, or argument list if -f is given. The default is to match any substring.
Esto es extremadamente útil si su proceso original creó procesos secundarios (posiblemente zombis cuando consulta) que prefijan el nombre del proceso original en su propio nombre y usted está tratando de excluirlos de sus resultados. Hay muchos demonios de UNIX que hacen esto. Mi ejemplo ir es ninja-dev-sync .
ps -fC PROCESSNAME
ps y grep es una combinación peligrosa: grep intenta hacer coincidir todo en cada línea (por lo tanto, es muy común: grep -v grep hack). ps -C no usa grep, usa la tabla de proceso para una coincidencia exacta. Por lo tanto, obtendrá una lista precisa con: ps -fC sh en lugar de encontrar cada proceso con sh en algún lugar de la línea.