Comment puis-je tuer un processus en utilisant top sur OS X?

8

Sur d'autres Unixe, je peux utiliser toppuis frapper Ket taper l'ID de processus. Comment puis-je faire cela sous OS X?

Je peux taper kill [the_pid]seul sur la ligne de commande et cela fonctionne. Cependant, je me demandais s'il y avait un moyen pour que cela se produise pendant le topprogramme.

Michael Durrant
la source
1
si vous êtes sur d'autres * NIX, vous l'avez probablement déjà utilisé htop. Je trouve que c'est plus informatif et cohérent d'une machine à l'autre. Il est disponible via MacPorts.
ephsmith

Réponses:

5
# top

appuyez sur shift+ s. Cela fera apparaître:

signal [TERM]:

À ce stade, vous pouvez simplement appuyer sur Retour pour une demande de fin de processus «polie» («signal 15») qui permettra au processus de nettoyer les fichiers, de libérer de la mémoire, etc. Pour les processus qui ne peuvent pas être tués de cette façon, vous pouvez entrer le mot 'kill' qui est le signal "9" puis appuyez sur return.

Maintenant, le haut demande un pid (identifiant de processus):

pid:

Entrez le pid du processus que vous voulez tuer et qui devrait s'en occuper.

Ivan Mironov
la source
1
Je n'utiliserais pas SIGKILL comme premier choix. Le SIGTERM suggéré devrait convenir à la plupart des processus. SIGKILL met fin à un processus sans aucun recours ni nettoyage, laissant éventuellement un processus "zombie" qui a encore des descripteurs de fichiers ouverts, de la mémoire allouée, etc.
Jan Steinman
Merci Jan. Cependant, je ne vois aucune mention de SIGKILL dans cette réponse. Vraisemblablement implicite? De plus, si SIGTERM est une meilleure option, veuillez indiquer exactement quoi taper.
Michael Durrant
ok, je vais juste le mettre à jour moi-même.
Michael Durrant
4

Depuis la toppage de manuel:

  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
la source