OS X'te top kullanarak bir işlemi nasıl öldürebilirim?


8

Diğer Unixe'de, işlem kimliğini kullanabilir topve sonra isabet edebilir Kve yazabilirim. Bunu OS X'te nasıl yapabilirim?

kill [the_pid]Komut satırında kendi başına yazabilirim ve bu işe yarar. Ancak, topprogram sırasında bunun için bir yol olup olmadığını merak ediyordum .


1
diğer * NIX'lerde iseniz, muhtemelen zaten kullanmışsınızdır htop. Makineden makineye daha bilgilendirici ve tutarlı olduğunu düşünüyorum. MacPorts üzerinden kullanılabilir.
ephsmith

Yanıtlar:


6
# top

shift+ tuşuna basın s. Bu ortaya çıkacaktır:

signal [TERM]:

Bu noktada, işlemin dosyaları temizlemesine, belleği serbest bırakmasına vb. Olanak tanıyan bir 'kibar' işlem bitiş isteği ("sinyal 15") için geri dönebilirsiniz. Bu şekilde öldürülemeyen işlemler için, "9" sinyali olan "kill" kelimesine basın return.

Şimdi en üstte bir pid (işlem kimliği) isteniyor:

pid:

Öldürmek istediğiniz sürecin pid'ini girin ve bu işlem onunla ilgilenmelidir.


1
SIGKILL'i ilk tercih olarak kullanmam. Önerilen SIGTERM çoğu işlem için yapmalıdır. Sigkill hala açık dosya tanımlayıcıları, ayrılan bellek vb vardır herhangi bir başvuru ya da temizlik, muhtemelen bırakarak bir "zombi" süreci olmadan bir süreç sonlandırır
Jan Steinman

Teşekkürler Jan. Ancak bu cevapta SIGKILL'den bahsetmedim. Muhtemelen ima ediliyor mu? Ayrıca SIGTERM daha iyi bir seçenekse lütfen tam olarak ne yazacağınızı belirtin.
Michael Durrant

tamam, sadece kendim güncelleyeceğim.
Michael Durrant

4

Gönderen topadam sayfası:

  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.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.