Usted puede utilizar pgrepsiempre y cuando incluya las -fopciones. Eso hace pgrepque las palabras clave coincidan en todo el comando (incluidos los argumentos) en lugar de solo el nombre del proceso.
pgrep -f keyword
Desde la página del manual :
-f El patrón normalmente solo se compara con el nombre del proceso. Cuando -fse establece, se utiliza la línea de comando completa.
Si realmente desea evitar pgrep, intente:
ps -ef | awk '/[k]eyword/{print $2}'
Tenga en cuenta []alrededor de la primera letra de la palabra clave. Es un truco útil para evitar que coincida con el awkcomando en sí.
kill -9 `pgrep -f keyword`ps aux | grep chrome[k]trucopgrep -f. Mi script se estaba ejecutando en una subshell, así que creo que estaba recogiendo su comando principal (es difícil saberlo con certeza: ¡el pid que devolvió desapareció cuando el comando terminó de ejecutarse!)pkill -9 -f keyword?Tratar
ps -ef | grep "KEYWORD" | awk '{print $2}'Ese comando debería darle el PID de los procesos con KEYWORD en ellos. En este caso,
awkdevuelve lo que está en la segunda columna de la salida.fuente
| head -1.ps -ef | grep KEYWORD | grep -v grep | awk '{print $2}'fuente
| xargs kill -9al finalyo suelo
Este comando debería darle un número PID.
fuente
Esto está disponible en linux: palabra clave pidof
fuente
Para matar un proceso mediante una palabra clave específica, puede crear un alias en
~/.bashrc(linux) o~/.bash_profile(mac).fuente
| head -1envuelve todo esto de manera agradable y ordenada.