Lệnh
ping <dest> &
gây ra ping để đi đến nền. Nó vẫn in đầu ra đến thiết bị đầu cuối, tuy nhiên. Ctrl-C không dừng nó, chỉ giới thiệu một dấu nhắc mới. Làm thế nào để ngăn chặn nó từ thiết bị đầu cuối?
Lệnh
ping <dest> &
gây ra ping để đi đến nền. Nó vẫn in đầu ra đến thiết bị đầu cuối, tuy nhiên. Ctrl-C không dừng nó, chỉ giới thiệu một dấu nhắc mới. Làm thế nào để ngăn chặn nó từ thiết bị đầu cuối?
Câu trả lời:
Đầu tiên nhập fg
vào cùng một thiết bị đầu cuối mà ping
lệnh của bạn đang chạy (nó đưa quy trình vào nền trước), sau đó nhấn Ctrl+ cđể dừng quá trình.
jobs
để có được một danh sách các quy trình đang chạy trong nền.
ffmpeg
.
Nếu đó là công việc nền tảng duy nhất của bạn, bạn có thể giết nó kill %1
. Nếu không chắc chắn, bạn có thể liệt kê tất cả các công việc nền của mình jobs
và sử dụng kill %<n>
nơi bạn thay thế n theo số lượng công việc ping của bạn.
Khi bạn gửi một quá trình đến nền, cho dù bằng cách sử dụng ctrl- zhoặc &
ở cuối lệnh, bạn sẽ nhận được một đầu ra ở định dạng sau : [index] process-id
. Nếu bạn gửi nhiều quá trình đến nền, chỉ mục sẽ tiếp tục tăng mỗi lần.
Ví dụ:
$ sleep 100 &
[1] 41608
$ sleep 101 &
[2] 41609
$ sleep 102 &
[3] 41610
$ sleep 103 &
[4] 41611
$ sleep 104 &
[5] 41612
$ sleep 105 &
[6] 41613
$ sleep 106 &
[7] 41614
Để dừng một mục cụ thể, bạn có thể sử dụng kill <process-id>
hoặc sử dụng fg <index>
theo sau ctrl-c
Ví dụ sử dụng đầu ra trước đó:
$ kill 41614
hoặc là
$ fg 7
sleep 106
^C
Khởi chạy một tab mới của thiết bị đầu cuối, chạy:
$ pgrep ping
2564
Sau đó tiêu diệt pid bằng kill
lệnh:
$ kill 2564
pgrep
để tìm kiếm các quy trình theo tên, bạn cũng có thể sử dụng pkill
để tiêu diệt chúng theo tên. Không cần phải gõ / sao chép id quá trình và sử dụng kill
.
Bạn có thể thấy tất cả quá trình bạn đặt trong nền (cho phiên hiện tại) bằng jobs
lệnh Sau khi bạn chạy lệnh này, bạn sẽ thấy tất cả quy trình đang chạy trên bash hiện tại và ở bên trái của mỗi quy trình bạn có thể thấy một số số:
[1]- Running sleep 200000 &
[2]+ Running sleep 300000 &
Bạn chỉ có thể chấm dứt các công việc (quy trình) bằng cách sử dụng kill -15 n%
(n là một số nằm trong dấu [[])
-15
là để chấm dứt quá trình độc đáo, nếu bạn muốn buộc đóng quy trình, chỉ cần sử dụng -9
thay vì -15
PS: Rõ ràng nếu bạn chạy một lệnh với đặc quyền gốc, bạn phải chạy kill -15 n%
vớisudo
2) Bạn có thể thấy tất cả quá trình đang chạy trên hệ thống ps -aux
và để xem ping
:
ps -aux | grep ping
Đầu ra giống như:
root 2615 0.0 0.0 25828 1052 pts/0 S 02:12 0:00 ping 8.8.8.8
Số thứ hai (2615) là PID hoặc ID tiến trình và bạn có thể chấm dứt quá trình với
sudo kill -15 2615
ping
các lần lặp một cách tự nhiên với số đếm --c N
- trong đó N là một số dương.