Jak mogę zabić proces używając top na OS X?


8

W innych systemach Unixe mogę użyć, topa następnie nacisnąć Ki wpisać identyfikator procesu. Jak mogę to zrobić w systemie OS X?

Mogę pisać kill [the_pid]samodzielnie w wierszu polecenia i to działa. Zastanawiałem się jednak, czy istnieje jakiś sposób, aby tak się stało w topprogramie.


1
jeśli korzystasz z innych * NIX-ów, prawdopodobnie już z nich korzystałeś htop. Uważam, że jest bardziej pouczający i spójny w zależności od maszyny. Jest dostępny przez MacPorts.
efmith

Odpowiedzi:


5
# top

naciśnij shift+ s. Spowoduje to:

signal [TERM]:

W tym momencie możesz po prostu nacisnąć Return, aby otrzymać „uprzejme” żądanie zakończenia procesu („sygnał 15”), które pozwoli procesowi wyczyścić pliki, zwolnić pamięć itp. W przypadku procesu, którego nie można zabić w ten sposób, możesz wprowadzić słowo „zabij”, które jest sygnałem „9”, a następnie naciśnij return.

Teraz najważniejsze monity o podanie pid (identyfikator procesu):

pid:

Wpisz pid procesu, który chcesz zabić, a to powinno się zająć.


1
Nie użyłbym SIGKILL jako pierwszego wyboru. Sugerowany SIGTERM powinien wystarczyć dla większości procesów. SIGKILL przerywa proces bez odwoływania się i usuwania, prawdopodobnie pozostawiając proces „zombie”, który wciąż ma otwarte deskryptory plików, przydzieloną pamięć itp.
Jan Steinman,

Dzięki Jan. Jednak w tej odpowiedzi nie widzę wzmianki o SIGKILL. Przypuszczalnie dorozumiany? Również jeśli SIGTERM jest lepszą opcją, podaj dokładnie, co wpisać.
Michael Durrant

ok, sam to zaktualizuję.
Michael Durrant

4

Ze strony podręcznika top:

  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.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.