Làm cách nào tôi có thể giết quá trình bằng cách sử dụng top trên OS X?


8

Trên các Unixe khác, tôi có thể sử dụng topvà sau đó nhấn Kvà nhập ID tiến trình. Làm thế nào tôi có thể làm điều đó trong OS X?

Tôi có thể tự gõ kill [the_pid]vào dòng lệnh và nó hoạt động. Tuy nhiên, tôi đã tự hỏi nếu có một cách để nó xảy ra trong khi trong topchương trình.


1
nếu bạn đang sử dụng * NIXes khác, có lẽ bạn đã sử dụng htop. Tôi thấy nó có nhiều thông tin và nhất quán từ máy này sang máy khác. Nó có sẵn thông qua MacPorts.
ephsmith

Câu trả lời:


5
# top

nhấn shift+ s. Điều này sẽ đưa lên:

signal [TERM]:

Tại thời điểm này, bạn chỉ cần nhấn return cho yêu cầu kết thúc quy trình 'lịch sự' ("tín hiệu 15") sẽ cho phép quá trình dọn sạch tệp, giải phóng bộ nhớ, v.v. Để xử lý theo cách này, bạn có thể nhập từ 'kill' là tín hiệu "9" rồi nhấn return.

Bây giờ lời nhắc hàng đầu cho một pid (id quá trình):

pid:

Nhập pid của quá trình bạn muốn giết và điều đó sẽ chăm sóc nó.


1
Tôi sẽ không sử dụng SIGKILL làm lựa chọn đầu tiên. SIGTERM được đề xuất nên làm cho hầu hết các quy trình. SIGKILL chấm dứt một quá trình mà không có bất kỳ sự truy đòi hay dọn dẹp nào, có thể để lại một quá trình "zombie" vẫn có các mô tả tệp mở, bộ nhớ được phân bổ, v.v.
Jan Steinman

Cảm ơn Jan. Tuy nhiên tôi không thấy đề cập đến SIGKILL trong câu trả lời này. Có lẽ ngụ ý? Ngoài ra nếu SIGTERM là một tùy chọn tốt hơn, vui lòng nêu chính xác những gì cần nhập.
Michael Durrant

ok, tôi sẽ tự cập nhật nó.
Michael Durrant

4

Từ toptrang người đàn ông:

  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.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.