Linux: ¿Cómo eliminar un proceso de propiedad raíz por el nombre del parámetro?

Linux: ¿Cómo eliminar un proceso de propiedad raíz por el nombre del parámetro?

Me gustaría saber cómo eliminar procesos propiedad de la raíz en función de la información de sus parámetros:

root      3176  0.0  0.8   3604  2252 ?        S    21:33   0:00 sudo python main.py
root      3191 65.4  4.6  96820 11744 ?        Rl   21:33  10:00 python main.py

Lo estoy intentando así pero no tengo éxito:

pi@raspberrypi ~ $ ps aux | grep main.py | awk '{print $2}' | xargs kill
pi@raspberrypi ~ $ sudo pkill -u root main.py

Respuesta1

pkill sería el enfoque más simple, solo te faltó un parámetro.

De "hombre pkill":

 -f, --full
          The pattern is normally only matched against the  process  name.
          When -f is set, the full command line is used.

En su caso, los nombres de los procesos son "python" y "sudo".

Respuesta2

Ajá, lo investigué; entonces lo que tienes que hacer es cambiarlo a

ps aux|grep main.py|awk '{print $2}'|sudo xargs kill -9

Actualicé mi respuesta para reflejar el código solicitado.

información relacionada