¿Cómo puedo matar un proceso por su nombre?

41

A veces me doy cuenta de que el proceso Python se colgó. Luego lo mataré a través del Monitor de actividad y todo está bien.

En cambio, me gustaría matar ese proceso en la Terminal. Sin embargo, buscar PID parece algo innecesario porque solo hay un proceso con el nombre Python .

¿Es posible matar un proceso por su nombre único?

    
pregunta gentmatt 03.03.2012 - 18:51

5 respuestas

49

Debería poder ejecutar el comando sudo killall Python .

Necesitas ejecutar como root porque Python pertenece a root, no al usuario.

    
respondido por el Matt Love 03.03.2012 - 18:59
19
sudo killall -s SIGINT "process name"

Si no puedes ser un sudo porque te pedirá una contraseña y siento que no quieres eso en un script. pkill venga a rescatar :)

pkill -9 "process name"
    
respondido por el Roshan Mehta 10.01.2014 - 06:21
5

Puedes matar aplicaciones usando Activity Monitor.app, siendo la solución GUI. Eso sería un simple "dejar de fumar". Sin embargo, eso no siempre funciona por diferentes motivos en algunas situaciones.

La solución de línea de comandos como se menciona en el comentario anterior tiene muchas más opciones para el usuario. sudo killall Python o si es un programa en ejecución, el proceso sudo killall /Applications/Whatever.app también obliga al proceso a cerrarse.

También puede forzar la salida de un proceso, utilizando su PID asignado. En el caso de Activity Monitor.app sería kill 25794 o kill -9 25794

Algunosdetallesmás:

ElprogramakillenlaTerminalsimplementeobligaasalirdeunprograma,comoporcontrolremoto.(InclusofuncionacuandoiniciasSSHentuMacdesdeunaubicaciónremota.Sigueelcomandokillconelnúmerodeidentificacióndelproceso(PIDcorto)delprogramaquequieresterminar.

Amenosquetambiénusesudo,puedematarsololosprogramasque"posee", los que se ejecutan bajo su cuenta. (El propio sistema operativo, root, siempre ejecuta sus propios programas, y es técnicamente posible que otras personas, marcando desde la carretera, estén ejecutando sus propios programas incluso cuando está utilizando la Mac).

La bandera -9 es una "muerte no capturable, no ignorable". En otras palabras, es un asesino de fuerza industrial que no acepta peticiones de misericordia del programa que estás matando.

    
respondido por el v2r 03.03.2012 - 20:07
5

Aunque hace utiliza PID, encuentro que lo siguiente es bastante eficiente:

ps aux | grep "String or name of process"

Esta línea devuelve una gran cantidad de información acerca de los procesos coincidentes, y puede kill o lo que sea desde allí.

    
respondido por el soxman 03.03.2012 - 22:12
1
pkill -f "process name"

Basado en enlace

    
respondido por el Samir 08.03.2018 - 22:11

Lea otras preguntas en las etiquetas