Hướng dẫn kill nhiều process cùng 1 lúc trên Linux/Unix


Để kill nhiều process (tiến trình) trên Linux/Unix thay vì sử dụng 1 command và kill 1 lần, bạn có thể phối hợp nhiều command thành 1 command để thực hiện chỉ với 1 lần. Sau đây vinasupport.com đã tổng hợp 1 số cách giúp bạn thực hiện điều này.

Vì sao cần kill nhiều process?

  • Do ứng dụng bi treo và ứng dụng đó sử dụng nhiều process trên Linux/Unix
  • Bạn lập trình và chạy nhiều command 1 lúc với cùng 1 nhiệm vụ giống nhau

Cách kill nhiều process trên Linux/Unix

Mình lấy ví dụ về Samba (Ứng dụng chia sẻ file với máy Windows Client) trên HDH CentOS 7. Khi chạy samba nó tạo ra 3 process như hình bên dưới.

Vậy để kill hay stop hoàn toàn process của Samba ta phải thực hiện 1 loạt command như sau:

[admin@vinasupport.com ~]$ ps -A | grep mbd
[admin@vinasupport.com ~]$ kill -9 6097 6101 6125

Như vậy chúng ta phải sử dụng 2 command và phải nhớ và gõ lại Process ID của Samba. Chú ý rằng Process ID này không cố định mà thay đổi mỗi lần Samba khởi động.

Thay vì vậy có 1 số cách giúp chúng ta dễ dàng kill nhiều process một lúc, như command bên dưới:

[admin@vinasupport.com ~]$ kill -9 `ps -A | grep 'mbd' | grep -v grep | awk '{print $1}'`

Với ‘mbd’ là chuỗi ký tự trong tên process Samba. Trường hợp kill process của firefox thì thay bằng ‘firefox’

Một số cách khác các bạn có thể tham khảo:

1. Sử dụng vòng lặp for

[admin@vinasupport.com ~]$ for pid in $(ps -ef | awk '/some search/ {print $2}'); do kill -9 $pid; done

2. Sử dụng command killall

[admin@vinasupport.com ~]$ killall firefox

Nếu có cách nào hay thì các bạn hãy chia sẻ bằng cách comment bên dưới nhé!

Nguồn vinasupport.com

 

             
SHARE

Bài viết liên quan

mode_edit Bình luận của bạn

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

account_circle
web