Cách sử dụng lệnh kill trong Linux

Trong bài này chúng ta sẽ tìm hiểu cách dùng lệnh kill trong Linux, đây là lệnh rất hữu ích được dùng để giết một quy trình hoặc một công việc gì đó ngay lập tức.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Linux là một hệ điều hành rất nhanh nhưng không phải lúc nào nó không phải là hoàn hảo. Đôi khi, một số ứng dụng có thể bắt đầu hoạt động thất thường, không phản hồi hoặc tiêu tốn nhiều tài nguyên hệ thống. Ta không thể khởi động lại những ứng dụng đó, vì Linux nhận biết rằng ứng dụng đó chưa được tắt. Giải pháp duy nhất là khởi động lại hệ thống hoặc tắt nó một cách ép buộc.

1. Cú pháp lệnh killl trong Linux

Lệnh kill là một build-in shell nên nó có trên hầu hết tất cả các bản phối khác nhau của Linux. Cú pháp của nó như sau:

kill [OPTIONS] [PID]...

Lệnh kill sẽ gửi một tín hiệu đến các tiến trình hoặc nhóm tiến trình được chỉ định (PID).

Bài viết này được đăng tại [free tuts .net]

Các tín hiệu được sử dụng phổ biến nhất là:

  • 1 (HUP) - Khởi động lại tién trình.
  • 9 (KILL) - Dừng tiến trình ngay lập tức.
  • 15 (TERM) - Dừng quá trình nhẹ nhàng hơn.

Để xem danh sách tất cả các tín hiệu có sẵn trên hệ thống thì hãy chạy lệnh sau:

kill -l

kill command linux JPG

Các tín hiệu có thể được trình bày qua ba cách khác nhau dưới đây:

  • Sử dụng số (-1 hoặc -s 1)
  • Sử dụng SIG prefix (-SIGHUP hoặc -s SIGHUP).
  • Bỏ qua SUG prefix (-HUP hoặc -s HUP)

Vậy, chúng ta có được các cách viết như sau:

kill -1 PID_NUMBER
kill -SIGHUP PID_NUMBER
kill -HUP PID_NUMBER

Các PID cung cấp cho lệnh kill có được xác định như sau:

  • Nếu PID lớn hơn 0, tín hiệu được gửi đến tiến trình với ID bằng PID.
  • Nếu PID bằng 0, tín hiệu được gửi đến tất cả các tiến trình trong nhóm tiến trình hiện tại. Nói cách khác, tín hiệu được gửi đến tất cả các tiến trình thuộc GID của shell đã gọi lệnh kill. Sử dụng lệnh ps -efj để xem ID nhóm tiến trình (GID).
  • Nếu PID bằng -1, tín hiệu được gửi đến tất cả các tiến trình có cùng UID khi người dùng gọi lệnh.
  • Nếu PID nhỏ hơn -1, tín hiệu được gửi đến tất cả các tiến trình trong nhóm tiến trình với GID bằng giá trị tuyệt đối của PID.

Người dùng thông thường có thể gửi tín hiệu đến tiến trình của riêng họ, nhưng không gửi tín hiệu đến quy trình của người dùng khác, trong khi người dùng root có thể gửi tín hiệu đến quy trình của người dùng khác.

2. Các bước thực hiện lệnh kill trong Linux

Để chấm dứt hoặc hủy một tiến trình bằng lệnh kill, trước tiên bạn cần tìm số ID của quy trình (PID). Bạn có thể thực hiện việc này bằng các lệnh khác nhau như top, ps, pidofpgrep.

Giả sử trình duyệt Firefox không phản hồi và bạn cần phải hủy tiến trình Firefox. Để tìm PID của trình duyệt, hãy sử dụng lệnh pidof:

pidof firefox

Lệnh này sẽ in ra các PID của trình duyệt Firefox như sau:

6263 6199 6142 6076

Khi ta đã biết danh sách các PID rồi thì dễ dàng chấm dứt nó bằng lệnh kill.

kill -9 6263 6199 6142 6076

Thay vì tìm kiếm PID và sau đó kill các tiến trình thì bạn có thể kết hợp các lệnh trên thành một:

kill -9 $(pidof firefox)

3. Sử dụng lệnh kill để reload các tiến trình

Một giải pháp khác để giải quyết là ta sẽ gửi tính hiệu HUB để các tiến trình sẽ reload lại.

Ví dụ: Để reload Nginx service thì bạn cần gửi tín hiệu đến tiến trình chính. ID quy trình của quy trình chính Nginx có thể được tìm thấy trong file nginx.pid, nó thường nằm trong thư mục /var/run.

Sử dụng lệnh cat để tìm PID chính:

cat /var/run/nginx.pid

Kết quả:

30251

Sau khi bạn tìm thấy PID chính, hãy reload lại Nginx bằng cách nhập:

sudo kill -1 30251

Lệnh trên được chạy bởi người dùng root có đặc quyền sudo.

Như vậy là chúng ta đã tìm hiểu xong cách sử dụng lệnh kill trong Linux, đây là lệnh rất hay dùng để xử lý các tiến trình / ứng dụng bị đơ hoặc nó chiếm quá nhiều tài nguyên.

Cùng chuyên mục:

Hướng dẫn cấu hình Mail Server trên CentOs 6.5

Hướng dẫn cấu hình Mail Server trên CentOs 6.5

Cách dùng lệnh Users trong Linux để xem user đang online

Cách dùng lệnh Users trong Linux để xem user đang online

Nếu bạn đang là quản trị viên thì việc quản lý thông tin / xem…

Cách sử dụng lệnh Wall trong Linux

Cách sử dụng lệnh Wall trong Linux

Wall là một công cụ dòng lệnh giúp hiển thị thông báo đến tất cả…

Cách dùng lệnh Whereis trong Linux

Cách dùng lệnh Whereis trong Linux

Whereis là một tiện ích dòng lệnh command line, nó cho phép bạn tìm ..

Cách sử dụng lệnh Which trong Linux

Cách sử dụng lệnh Which trong Linux

Linux dùng lệnh which để xác định vị trí file thực thi của lệnh mà…

Cách sử dụng lệnh whoami trong Linux

Cách sử dụng lệnh whoami trong Linux

Giống như tên gọi của nó, lệnh whoami in tên người dùng đang chạy ...

Cách dùng lệnh zcat trong Linux

Cách dùng lệnh zcat trong Linux

Mặc dù tính năng nén file rất hữu ích vì nó giúp ta tiết kiệm…

Hiểu rõ hơn về chmod 777 trong Linux

Hiểu rõ hơn về chmod 777 trong Linux

Bạn đang xây dựng một website và sử dụng tính năng upload ...

Cách sử dụng lệnh tail trong Linux

Cách sử dụng lệnh tail trong Linux

Mặc định thì lệnh tail sẽ hiển thị 10 dòng cuối cùng của file, thông…

Cách sử dụng lệnh Head trong Linux

Cách sử dụng lệnh Head trong Linux

Trong quá trình quản trị dữ liệu trên Linux đôi khi bạn muốn xem nhanh…

Cách sử dụng lệnh Whatis trong Linux

Cách sử dụng lệnh Whatis trong Linux

Trong bài này chúng ta sẽ tìm hiểu lệnh whatis trong ...

Cách dùng lệnh who trong Linux

Cách dùng lệnh who trong Linux

Who là một công cụ dòng lệnh command-line, được ...

Cách dùng lệnh basename trong Linux

Cách dùng lệnh basename trong Linux

basename là một tiện ích dòng lệnh (command line) dùng để lấy ...

Cách sử dụng lệnh gzip trên Linux

Cách sử dụng lệnh gzip trên Linux

Gzip là một trong những thuật toán nén file phổ biến nhất, nó cho phép…

Cách dùng lệnh wait trong Linux

Cách dùng lệnh wait trong Linux

Wait là lệnh dùng để đợi một thời gian cho tới khi công việc nào…

Cách dùng lệnh ping trong Linux

Cách dùng lệnh ping trong Linux

Lệnh ping là một trong những công cụ được sử dụng nhiều nhất để khắc…

Cách dùng lệnh sleep trong Linux

Cách dùng lệnh sleep trong Linux

sleep là một tiện ích command line cho phép lập trình viên ..

Các ví dụ học Bash Script trong Linux cơ bản nhất

Các ví dụ học Bash Script trong Linux cơ bản nhất

Bash Script đuọc xem là mã code lập trình trên Linux ...

Vòng lặp until trong Shell Script

Vòng lặp until trong Shell Script

Vòng lặp while trong Shell Script

Vòng lặp while trong Shell Script

Trong Linux script, vòng lặp while được sử dụng trong ...

Top