Làm thế nào tôi có thể giết một công việc đã được bắt đầu trong một shell khác (cửa sổ đầu cuối hoặc tab)?


9

Nếu tôi bắt đầu một quá trình và đặt nó trong một cửa sổ đầu cuối (giả sử ping google.com &), tôi có thể giết nó bằng cách sử dụng kill %1(giả sử đó là công việc 1).

Tuy nhiên nếu tôi mở một cửa sổ đầu cuối (hoặc tab) khác, quy trình nền không được liệt kê bên dưới jobsvà không thể bị giết trực tiếp bằng cách sử dụng kill.

Có thể giết quá trình này từ một cửa sổ hoặc tab thiết bị đầu cuối khác không?

Lưu ý: Tôi đang sử dụng Trình giả lập thiết bị đầu cuối Xfce 0.4.3 và bash (mặc dù nếu một giải pháp tồn tại trong một vỏ chung khác nhưng không phải là bash tôi cũng mở nó)

Câu trả lời:


10

Có, tất cả những gì bạn cần biết là id quá trình (PID) của quy trình. Bạn có thể tìm thấy điều này với pslệnh, hoặc pidoflệnh.

kill $(pidof ping)

Nên làm việc từ bất kỳ vỏ khác. Nếu không, bạn có thể sử dụng ps và grep cho ping.


6

Nếu bạn gõ topvào cửa sổ terminal khác, nó sẽ liệt kê tất cả quá trình đang chạy. Lưu ý id quá trình của bạn jobở đó, sau đó nhấn qđể rời khỏi màn hình đó. Sau đó, killquá trình như bình thường.


cảm ơn câu trả lời của bạn nhưng topdường như không hiển thị tất cả các quy trình cụ thể đang chạy trong trình bao (ví dụ: nó không hiển thị ping). Nó cung cấp cho tôi một PID cho trình giả lập thiết bị đầu cuối nhưng nó sẽ giết chết trình giả lập thiết bị đầu cuối như bạn mong đợi.
DQdlM

1
nếu bạn nhập top -U yourusernamevào terminal, nó sẽ chỉ liệt kê quá trình bạn đang sử dụng.
arthankamal

tuyệt vời! +1 chỉ vì điều đó! cảm ơn
DQdlM

trong khi ở trên cùng, đánh k rồi 15 để giết mềm (thử trước), 9 cho sát thương khó.
Michael Durrant

4

Tôi thường làm một cái gì đó như thế này:

ps aux | grep $PROCESS | grep -v grep | awk '{print $2 " " $11}'

Ví dụ: nếu $ PROCESS = "bash", thì đây là đầu ra từ phiên hiện tại của tôi:

2683 bash
4481 bash
5695 bash

Sau đó, tôi sẽ kill $PIDcho bất cứ /bin/bashtôi không còn muốn được chạy.

ps, grepVà (tùy chọn) awklà hữu ích cho việc săn lùng PID để kill.

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.