Esta pregunta es similar en espíritu a ¿Cómo puedo matar un proceso por su nombre? pero no un duplicado por la razón que se expone a continuación.
Como ejemplo, aquí está cómo aparece IntelliJ en el Monitor de Actividad:
El nombre es "IntelliJ IDEA". Este es también el nombre visible cuando se cambia a Windows. Sin embargo, ps aux
mostrará el nombre del proceso como idea
porque ese es el nombre del proceso que se está ejecutando:
/Aplicaciones/IntelliJ IDEA.app/Contenidos/MacOS/ idea
Mecanografía pkill -i intellij
no hace nada, ya que hay que escribir pkill -i idea
para matar realmente el proceso correcto. Pero, ¿hay alguna forma de hacerlo sin tener que buscar primero el nombre del proceso correcto? Me gustaría escribir kill_by_visible_name intellij
y ver el proceso terminado.
Una opción es ejecutar ps aux | grep -i intellij
pero esto también encontrará los procesos que se ejecutan desde una carpeta llamada "IntelliJ", no sólo el proceso real de IntelliJ. Esto también fallará para los procesos donde el nombre visible no es el mismo que el nombre de la carpeta de la aplicación. Otra opción es buscar el PID en el Monitor de Actividad, pero esto consume mucho tiempo cuando ya se conoce el nombre de la aplicación.