Bagaimana saya bisa mematikan proses menggunakan top di OS X?

8

Di Unixe lain, saya bisa menggunakan topdan kemudian tekan Kdan ketik ID proses. Bagaimana saya bisa melakukan itu di OS X?

Saya bisa mengetik kill [the_pid]sendiri di baris perintah dan itu berfungsi. Namun, saya bertanya-tanya apakah ada cara untuk itu terjadi saat di topprogram.

Michael Durrant
sumber
1
jika Anda menggunakan * NIXes lain, Anda mungkin sudah menggunakannya htop. Saya merasa lebih informatif dan konsisten dari mesin ke mesin. Ini tersedia melalui MacPorts.
ephsmith

Jawaban:

5
# top

tekan shift+ s. Ini akan memunculkan:

signal [TERM]:

Pada titik ini Anda cukup menekan kembali untuk permintaan akhir proses 'sopan' ("sinyal 15") yang akan membiarkan proses membersihkan file, melepaskan memori, dll. Untuk proses yang tidak dapat dibunuh dengan cara ini, Anda dapat memasukkan kata 'bunuh' yang merupakan sinyal "9" lalu tekan return.

Sekarang atas permintaan untuk pid (proses id):

pid:

Masukkan pid dari proses yang ingin Anda bunuh dan itu harus mengurusnya.

Ivan Mironov
sumber
1
Saya tidak akan menggunakan SIGKILL sebagai pilihan pertama. SIGTERM yang disarankan harus dilakukan untuk sebagian besar proses. SIGKILL mengakhiri proses tanpa bantuan atau pembersihan, mungkin meninggalkan proses "zombie" yang masih memiliki deskriptor file terbuka, memori yang dialokasikan, dll.
Jan Steinman
Terima kasih Jan. Namun saya tidak melihat SIGKILL disebutkan dalam jawaban ini. Agaknya tersirat? Juga jika SIGTERM adalah pilihan yang lebih baik, harap sebutkan persis apa yang harus diketik.
Michael Durrant
ok, saya akan memperbaruinya sendiri.
Michael Durrant
4

Dari tophalaman 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
sumber