Lệnh killall trong Linux giúp bạn dễ dàng xử lý khi chương trình bị treo hoặc không phản hồi. Ngoài ra, bạn cũng có thể dùng lệnh killall để đóng tất cả các tiến trình có cùng tên. Trong bài viết này, Vietnix sẽ hướng dẫn bạn cách sử dụng lệnh killall thông qua các ví dụ thực tế.
Những điểm chính
- Tìm hiểu khái niệm lệnh killall: Giới thiệu về khái niệm lệnh
killall
, chức năng chính của lệnh này là kết thúc các tiến trình đang chạy. - Nắm rõ cú pháp và các tùy chọn của lệnh killall: Bạn sẽ được cung cấp cú pháp cơ bản của lệnh
killall
và giải thích các tùy chọn thường dùng để biết cách sử dụng lệnh. - Khám phá nhiều ví dụ về cách sử dụng killall với các tùy chọn khác nhau: Bạn có thể áp dụng lệnh
killall
vào thực tế một cách dễ dàng. - Vietnix – Đối tác công nghệ đồng hành cùng doanh nghiệp Việt vươn xa.
Lệnh killall trong Linux là gì?
Lệnh killall
trong Linux là một lệnh hữu ích giúp bạn có thể kết thúc bất kỳ chương trình nào khi chương trình đó không phản hồi hoặc bị treo.
Cú pháp
killall [OPTION] process_name
Trong đó:
- [OPTION]: Tùy chọn bổ sung để tùy chỉnh cách lệnh
killall
hoạt động. Phần này được đặt trong dấu ngoặc vuông [] nghĩa là bạn không bắt buộc phải sử dụng chúng. - process_name: Tên chương trình.
Tùy chọn
Tùy chọn | Mô tả |
---|---|
-I, --ignore-case | Tìm kiếm tên tiến trình mà không phân biệt chữ hoa chữ thường. |
-g, --process-group | Kết thúc cả nhóm tiến trình mà tiến trình chỉ định thuộc về. Tín hiệu kết thúc chỉ được gửi một lần cho mỗi nhóm, ngay cả khi có nhiều tiến trình cùng nhóm đang chạy. |
-i, --interactive | Yêu cầu xác nhận trước khi kết thúc một tiến trình. |
-l, --list | Liệt kê tất cả các tên tín hiệu được biết. |
-o, --older-than | Chỉ chọn các tiến trình bắt đầu trước thời điểm được chỉ định. Đơn vị thời gian là s, m, h, d, w, M, y tương ứng với giây, phút, giờ, ngày, tuần, tháng và năm. |
-q, --quiet | Không hiển thị thông báo nếu không có tiến trình nào bị kết thúc. |
-r, --regexp | Xử lý mẫu tên tiến trình như một biểu thức chính quy POSIX mở rộng. |
-s, --signal, -SIGNAL | Gửi tín hiệu đã cho thay vì SIGTERM (tín hiệu kết thúc mặc định). |
-u, --user | Chỉ kết thúc các tiến trình thuộc sở hữu của người dùng được chỉ định. |
-v, --verbose | Báo cáo xem tín hiệu đã được gửi thành công hay chưa. |
-V, --version | Hiển thị thông tin phiên bản trên terminal. |
-y, --younger-than | Chỉ chọn các tiến trình bắt đầu sau thời điểm được chỉ định. Các đơn vị thời gian tương tự như tùy chọn -o. |
- Các tùy chọn trong Linux phân biệt chữ hoa chữ thường.
- Để tìm hiểu thêm các tùy chọn khác, bạn hãy truy cập trang hướng dẫn (man page) bằng cách sử dụng lệnh man killall.
6 ví dụ thực tế sử dụng lệnh killall trong Linux
- Ví dụ 1: Kết thúc tiến trình bằng tên file
- Ví dụ 2: Kết thúc nhiều chương trình cùng lúc
- Ví dụ 3: Kết thúc tiến trình với yêu cầu xác nhận
- Ví dụ 4: Kết thúc tiến trình không phân biệt chữ hoa chữ thường
- Ví dụ 5: Kết thúc tất cả tiến trình thuộc sở hữu của người dùng cụ thể
- Ví dụ 6: Kết thúc tiến trình dựa trên thời gian chạy
Ví dụ 1: Kết thúc tiến trình bằng tên file
Bạn có thể dễ dàng kết thúc một tiến trình bằng lệnh killall
theo sau là tên tiến trình. Ví dụ, giả sử Firefox đang chạy ngầm.
Để kết thúc tiến trình Firefox, hãy làm theo 3 bước sau:
Bước 1: Mở Terminal trên Ubuntu.
Bước 2: Nhập lệnh sau và nhấn Enter.
killall firefox
Bước 3: Để kiểm tra xem Firefox đã bị đóng chưa, bạn nhập lệnh sau và nhấn Enter.
top | grep firefox
Kết quả: Nếu không thấy PID (Process ID) nào của Firefox được hiển thị, nghĩa là bạn đã kết thúc tiến trình Firefox thành công bằng lệnh killall
.
Ví dụ 2: Kết thúc nhiều chương trình cùng lúc
Bạn có thể kết thúc nhiều tiến trình bằng một dòng lệnh. Giả sử Spotify và Firefox đang chạy ngầm. Để kết thúc cả Firefox và Spotify, hãy làm như sau:
Bước 1: Mở Terminal trên Ubuntu.
Bước 2: Nhập lệnh sau và nhấn Enter.
killall firefox spotify
Bước 3: Nhập lệnh sau và nhấn Enter để kiểm tra ID tiến trình Spotify.
top -n5 | grep spotify
Bước 4: Nhập lệnh sau và nhấn Enter để kiểm tra ID tiến trình Firefox.
top -n5 | grep firefox
Kết quả: Cả Firefox và Spotify đều đã bị đóng. Vì thế, sẽ không thấy PID nào của chúng xuất hiện trong kết quả.
Ví dụ 3: Kết thúc tiến trình với yêu cầu xác nhận
Đôi khi bạn có thể vô tình nhập sai tên tiến trình sau lệnh killall
. Để tránh kết thúc nhầm, bạn có thể sử dụng tùy chọn -i
. Giả sử Spotify đang chạy ngầm.
Để kết thúc Spotify một cách tương tác (có xác nhận), bạn làm theo 4 bước sau:
Bước 1: Mở Terminal trên Ubuntu.
Bước 2: Nhập lệnh sau và nhấn Enter.
killall -i spotify
Bước 3: Nhấn y (hoặc Y) khi được yêu cầu xác nhận.
Bước 4: Nhập lệnh sau và nhấn Enter để kiểm tra ID tiến trình Spotify.
top -n5 | grep firefox
Kết quả: Bạn đã đóng Spotify sau khi xác nhận. Vì vậy sẽ không thấy PID của Spotify xuất hiện.
Ví dụ 4: Kết thúc tiến trình không phân biệt chữ hoa chữ thường
Việc nhập sai chữ hoa chữ thường của tên tiến trình là điều thường thấy. Tuy nhiên, bạn có thể dùng tùy chọn -I
để bỏ qua lỗi này. Giả sử Spotify đang chạy ngầm. Để kết thúc Spotify mà không cần đúng chính tả, hãy làm 4 bước như sau:
Bước 1: Mở Terminal trên Ubuntu.
Bước 2: Nhập lệnh sau (ví dụ viết sai chữ hoa chữ thường) và nhấn Enter.
killall -I spotify
Bước 4: Nhập lệnh sau và nhấn Enter để kiểm tra ID tiến trình Spotify.
top -n5 | grep spotify
Kết quả: Bạn đã đóng Spotify thành công kể cả khi tên gõ sai chính tả. PID của Spotify sẽ không xuất hiện nữa.
Ví dụ 5: Kết thúc tất cả tiến trình thuộc sở hữu của người dùng cụ thể
Khi bạn phải làm nhiều việc cùng lúc, việc đóng thủ công từng tiến trình của mình sẽ rất mệt mỏi. Lệnh killall
giúp bạn kết thúc tất cả các tiến trình do một người dùng chạy. Ví dụ, ở đây người dùng vietnix đang chạy Firefox ngầm. Để kết thúc tất cả tiến trình của người dùng vietnix, bạn thực hiện theo các bước sau:
Bước 1: Mở Terminal trên Ubuntu.
Bước 2: Nhập lệnh sau và nhấn Enter.
killall -u vietnix
Kết quả: Bạn sẽ thấy tất cả các tiến trình của người dùng vietnix đã bị tắt và bạn sẽ được chuyển đến trang đăng nhập.
Ví dụ 6: Kết thúc tiến trình dựa trên thời gian chạy
Bạn có thể kết thúc các tiến trình bằng cách chỉ định thời gian chúng đã chạy. Có hai tùy chọn cho việc này:
Tùy chọn | Chức năng |
---|---|
-o / --older-than | Chỉ chọn các tiến trình đã chạy lâu hơn thời gian được chỉ định. |
-y / --younger-than | Chỉ chọn các tiến trình đã chạy ít hơn thời gian được chỉ định. |
Trường hợp A: Kết thúc các tiến trình chạy lâu hơn thời gian chỉ định
Ví dụ, bạn muốn kết thúc tất cả tiến trình đã chạy hơn 1 phút. Giả sử, Firefox đang chạy ngầm đã hơn 1 phút. Để làm điều này, bạn thực hiện theo 3 bước sau:
Bước 1: Mở Terminal trên Ubuntu.
Bước 2: Nhập lệnh sau và nhấn Enter.
killall -o 1m firefox
1m là viết tắt của 1 phút.
Bước 3: Để kiểm tra Firefox đã đóng chưa, bạn chạy lệnh sau và nhấn Enter.
top -n3 | grep firefox
Kết quả: Firefox đã được tắt thành công. Kết quả là không có thông tin nào về tiến trình Firefox được in ra terminal nữa.
Trường hợp B: Kết thúc các tiến trình chạy ít hơn thời gian chỉ định
Bây giờ, giả sử bạn muốn kết thúc tất cả tiến trình đang chạy ít hơn 10 phút. Firefox vẫn đang chạy, nhưng mới hoạt động được chưa tới 10 phút. Thực hiện theo 3 bước sau:
Bước 1: Mở Terminal trên Ubuntu.
Bước 2: Nhập lệnh sau và nhấn Enter.
killall -y 10m firefox
Bước 3: Để kiểm tra Firefox đã đóng chưa, bạn chạy lệnh sau và nhấn Enter.
top -n3 | grep firefox
Kết quả: Firefox đã được tắt thành công, do đó không có thông tin PID của Firefox hiển thị trên terminal nữa.
Vietnix – Đối tác công nghệ đồng hành cùng doanh nghiệp Việt vươn xa
Với hơn 80.000 khách hàng được phục vụ, Vietnix đã xây dựng được vị thế vững chắc trong ngành công nghệ tại Việt Nam. Được vinh danh Top 5 Thương Hiệu Uy Tín – Chất Lượng Quốc Gia 2023, Vietnix cung cấp các giải pháp công nghệ hiệu quả, giúp doanh nghiệp nâng cao hiệu suất và đạt mục tiêu dài hạn.
Dịch vụ VPS AMD của Vietnix được thiết kế để tối ưu hiệu suất và độ ổn định cho các ứng dụng yêu cầu tài nguyên cao. Với CPU AMD EPYC và 100% ổ cứng NVMe, tốc độ đọc gấp 10 lần so với các dịch vụ thông thường, dịch vụ VPS đảm bảo khả năng xử lý nhanh chóng và vận hành ổn định. Đội ngũ kỹ thuật viên luôn sẵn sàng hỗ trợ 24/7, đảm bảo dịch vụ tin cậy và hiệu quả.
Thông tin liên hệ:
- Hotline: 18001093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
- Website: https://vietnix.vn/
Tóm lại, lệnh killall trong Linux là một công cụ hiệu quả để quản lý tiến trình. Việc nắm vững cách sử dụng lệnh này cùng các tùy chọn của lệnh sẽ giúp bạn kiểm soát hệ thống tốt hơn, tối ưu hiệu suất và xử lý các sự cố một cách nhanh chóng. Hy vọng bài viết này đã cung cấp cho bạn những thông tin hữu ích, đừng quên theo dõi blog Vietnix để tìm hiểu thêm về các lệnh khác trong Linux.