Làm chủ lệnh “Kill” trong Linux
Nó không quan trọng bạn đang sử dụng hệ điều hành nào - chắc chắn bạn sẽ gặp phải một ứng dụng không hoạt động tự khóa và từ chối đóng lại. Trong Linux (và Mac) có một lệnh " kill
" mà bạn có thể sử dụng để chấm dứt ứng dụng một cách mạnh mẽ. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn những cách khác nhau mà bạn có thể sử dụng lệnh “kill” để chấm dứt một ứng dụng.
Kill lệnh và tín hiệu
Khi bạn thực hiện lệnh “kill”, bạn đang thực sự gửi tín hiệu đến hệ thống để hướng dẫn nó chấm dứt ứng dụng bị lỗi. Có tổng cộng sáu mươi tín hiệu mà bạn có thể sử dụng, nhưng tất cả những gì bạn thực sự cần biết là SIGTERM (15) và SIGKILL (9).
Bạn có thể xem tất cả các tín hiệu bằng lệnh:
kill -l
- SIGTERM - Tín hiệu này yêu cầu một quá trình ngừng chạy. Tín hiệu này có thể bỏ qua. Quá trình này được dành thời gian để đóng cửa một cách duyên dáng. Khi một chương trình tắt một cách duyên dáng, điều đó có nghĩa là nó được dành thời gian để lưu tiến trình của nó và giải phóng tài nguyên. Nói cách khác, nó không bị buộc phải dừng lại.
- SIGKILL - Tín hiệu SIGKILL buộc quá trình ngừng thực hiện ngay lập tức. Chương trình không thể bỏ qua tín hiệu này. Tiến trình chưa được lưu sẽ bị mất.
Cú pháp để sử dụng kill
là:
giết [tín hiệu hoặc tùy chọn] PID (s)
Tín hiệu mặc định (khi không được chỉ định) là SIGTERM. Khi điều đó không hoạt động, bạn có thể sử dụng các bước sau để giết một quá trình mạnh mẽ:
giết SIGKILL PID
hoặc là
kill -9 PID
trong đó cờ -9
đề cập đến tín hiệu SIGKILL.
Nếu bạn không nhận thức được PID của ứng dụng, chỉ cần chạy lệnh:
ps ux
và nó sẽ hiển thị tất cả các ứng dụng đang chạy cùng với PID của nó.
Ví dụ: để giết ứng dụng Chrome, hãy chạy lệnh:
kill -9 3629
Cũng lưu ý rằng bạn có thể giết nhiều quy trình cùng một lúc.
kill -9 PID1 PID2 PID3
PKill
Lệnh pkill
cho phép sử dụng các mẫu biểu thức chính quy mở rộng và các tiêu chí khớp khác. Thay vì sử dụng PID, bây giờ bạn có thể giết các ứng dụng bằng cách nhập tên tiến trình của chúng. Ví dụ, để giết trình duyệt Firefox, chỉ cần chạy lệnh:
pkill firefox
Vì nó khớp với mẫu biểu thức chính quy, bạn cũng có thể nhập một phần tên của quy trình, chẳng hạn như:
pkill fire
Để tránh làm hỏng các tiến trình sai, bạn có thể muốn thực hiện “ pgrep -l [process name]
” để liệt kê các tiến trình phù hợp.
Killall
Killall sử dụng tên quá trình thay vì PID, và nó giết chết tất cả các cá thể của tiến trình có cùng tên. Ví dụ, nếu bạn đang chạy nhiều phiên bản của trình duyệt Firefox, bạn có thể giết tất cả chúng bằng lệnh:
killall firefox
xkill
Xkill là một cách đồ họa để giết một ứng dụng. Khi bạn gõ xkill
vào terminal, con trỏ chuột của bạn sẽ ngay lập tức trở thành “cross”. Tất cả những gì bạn phải làm là nhấp vào “cross” trên ứng dụng bị lỗi, và nó sẽ giết ứng dụng ngay lập tức. Nếu muốn, bạn cũng có thể thêm lối tắt bàn phím để kích hoạt chức năng xkill.
Phần kết luận
Khi các ứng dụng hoạt động sai và khiến hệ thống bị treo, rất dễ khởi động lại máy tính và bắt đầu lại phiên. Với các lệnh “giết” này, bạn sẽ có thể quản lý tốt hơn các ứng dụng bị lỗi mà không cần chúng gây ra sự cố hệ thống. Điều này đặc biệt hữu ích đối với một máy chủ khi bạn không muốn một quá trình hoạt động sai để đưa toàn bộ máy chủ xuống.
Hình ảnh tín dụng: Kill Bill (Gates)