¿Cómo puedo matar un proceso usando top en OS X?

8

En otros Unixe, puedo usar topy luego presionar Ky escribir la ID del proceso. ¿Cómo puedo hacer eso en OS X?

Puedo escribir kill [the_pid]solo en la línea de comando y eso funciona. Sin embargo, me preguntaba si había una manera de que sucediera mientras estaba en el topprograma.

Michael Durrant
fuente
1
si estás en otros * NIX, probablemente ya lo hayas usado htop. Me parece más informativo y consistente de máquina a máquina. Está disponible a través de MacPorts.
ephsmith

Respuestas:

5
# top

presione shift+ s. Esto traerá a colación:

signal [TERM]:

En este punto, puede presionar Intro para una solicitud de finalización del proceso 'educado' ("señal 15") que permitirá que el proceso limpie archivos, libere memoria, etc. Para el proceso que no se puede eliminar de esta manera, puede ingresar la palabra 'kill' que es la señal "9" y luego presione return.

Ahora las solicitudes principales para un pid (id de proceso):

pid:

Ingrese el pid del proceso que desea matar y eso debería encargarse de ello.

Ivan Mironov
fuente
1
No usaría SIGKILL como primera opción. El SIGTERM sugerido debería funcionar para la mayoría de los procesos. SIGKILL finaliza un proceso sin ningún recurso o limpieza, posiblemente dejando un proceso "zombie" que todavía tiene descriptores de archivos abiertos, memoria asignada, etc.
Jan Steinman
Gracias Jan. Sin embargo, no veo mención de SIGKILL en esta respuesta. Presumiblemente implícito? Además, si SIGTERM es una mejor opción, indique exactamente qué escribir.
Michael Durrant el
ok, solo lo actualizaré yo mismo.
Michael Durrant
4

Desde la toppágina del manual:

  S<signal><pid>
          Send  <sig>  to  <pid>.   <sig> can be specified either as a number or
          as a name (for example, HUP).  The default signal starts out as TERM.
          Each time a signal is  successfully  sent,  the default signal is updated
          to be that signal.  <pid> is a process id.
nohillside
fuente