Giết một công việc trong Ubuntu


22

Đây có lẽ là một câu hỏi thường gặp, nhưng tôi không thể tìm thấy tài liệu tốt.

Tôi có các công việc đang chạy trên hệ thống của mình:

foo@fooBox:~/tmp$ jobs
[1]+  Stopped                 foo bar baz

Làm thế nào tôi có thể giết quá trình này? Tôi đã thử nhiều lệnh khác nhau kill 1, nhưng nó không hoạt động.


cách khác, $ fg [enter] [ctrl-c]: p
bubu

@bubu: Điều đó sẽ không hoạt động đối với một số chương trình bắt SIGINT, chẳng hạn như vim.
Wuffers

@Mark Szymanski Tôi biết, tôi biết: p
bubu

Câu trả lời:


32

Bạn có thể sử dụng phương thức được đề xuất bởi @fideli hoặc bạn có thể sử dụng killlệnh như vậy:

kill %1

Điều này sẽ giết lệnh treo đầu tiên. Bạn cũng có thể tìm thấy một danh sách các lệnh bị treo như vậy:

jobs

và nó sẽ cung cấp đầu ra như vậy:

[1]+  Stopped                 yes

Nếu bạn có nhiều công việc dừng lại, số trong ngoặc đơn ( [1]) sẽ là số công việc, là bạn cung cấp sau khi %vào killlệnh.


Điều đó thật tuyệt! Đã học được một cái gì đó mới về kill.
fideli

1
Làm thế nào tôi nhận được điều này -bash: kill: (3593) - Operation not permitted. Khi tôi sử dụng nó với sudo, tôi nhận được điều nàykill: %1: invalid process id
CMCDragonkai

1
@CMCDragonkai Bạn đã gặp phải tình huống lệnh bạn chạy hiện đang thuộc sở hữu của một người dùng khác vì bạn đã sử dụng sudo, vì vậy bạn không thể giết nó, nhưng chạy killbằng cách sử dụng sudocó nghĩa là bạn không còn có quyền truy cập vào danh sách công việc của người dùng của bạn (thử chạy sudo jobsđể xem những gì tôi có ý nghĩa). Thay vào đó, vì bây giờ bạn đã có PID, chỉ cần chạy sudo kill 3593.
morloch

Làm thế nào một quá trình nền có thể được sở hữu bởi người dùng khác?
CMCDragonkai

6

Nếu bạn chạy, ps axbạn sẽ nhận được một danh sách tất cả các quy trình đang chạy. Tìm kiếm cái bạn muốn giết và ghi chú số trong PIDcột. Ví dụ, nói số đó là 10203, sau đó bạn sẽ chạy:

kill 10203

Bạn cũng có thể chạy ps ax | grep foođể tìm chương trình chính xác mà bạn đang tìm kiếm. Cuối cùng, bạn có thể chạy:

killall foo

để giết tất cả các trường hợp foo.

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.