Giới thiệu
Trong lab này, bạn sẽ học cách sử dụng lệnh pkill
của Linux để kết thúc các tiến trình bằng tên hoặc ID tiến trình (PID) của chúng. Lệnh pkill
là một công cụ mạnh mẽ để quản lý các tiến trình trong hệ thống Linux, vì nó cung cấp một cách thuận tiện để kill các tiến trình mà không cần phải biết chính xác PID của chúng. Bạn sẽ khám phá cách kết thúc các tiến trình bằng tên, cũng như cách kết thúc các tiến trình bằng PID của chúng. Lab này bao gồm các ví dụ thực tế và thể hiện tính linh hoạt của lệnh pkill
trong các tác vụ quản lý tiến trình.
Tìm hiểu về Lệnh pkill
Trong bước này, bạn sẽ tìm hiểu về lệnh pkill
trong Linux, cho phép bạn kết thúc các tiến trình bằng tên hoặc ID tiến trình (PID).
Lệnh pkill
là một công cụ mạnh mẽ để quản lý các tiến trình trong hệ thống Linux. Nó cung cấp một cách thuận tiện để kill các tiến trình mà không cần phải biết chính xác PID của chúng. Điều này có thể đặc biệt hữu ích khi bạn cần kết thúc nhiều phiên bản của một tiến trình hoặc khi bạn không chắc chắn về PID chính xác của tiến trình bạn muốn kết thúc.
Để sử dụng lệnh pkill
, bạn có thể chỉ định tên tiến trình hoặc một mẫu phù hợp với tên tiến trình. Sau đó, lệnh sẽ kết thúc tất cả các tiến trình phù hợp.
Dưới đây là một ví dụ về cách sử dụng pkill
để kết thúc một tiến trình bằng tên:
sudo pkill -f firefox
Lệnh này sẽ kết thúc tất cả các tiến trình có tên "firefox".
Ví dụ đầu ra:
[1]+ Terminated firefox
Bạn cũng có thể sử dụng tùy chọn -9
để gửi tín hiệu SIGKILL đến tiến trình, tín hiệu này sẽ buộc tiến trình kết thúc ngay lập tức:
sudo pkill -9 -f firefox
Lệnh này sẽ kết thúc tất cả các tiến trình có tên "firefox" bằng tín hiệu SIGKILL.
Ví dụ đầu ra:
[1]+ Killed firefox
Ngoài việc kết thúc các tiến trình bằng tên, bạn cũng có thể sử dụng pkill
để kết thúc các tiến trình bằng PID của chúng. Để thực hiện việc này, bạn có thể sử dụng tùy chọn -P
theo sau là PID:
sudo pkill -P 12345
Lệnh này sẽ kết thúc tiến trình có PID là 12345.
Ví dụ đầu ra:
[1]+ Terminated process 12345
Hãy nhớ rằng, lệnh pkill
là một công cụ mạnh mẽ, vì vậy hãy sử dụng nó một cách thận trọng để tránh vô tình kết thúc các tiến trình hệ thống quan trọng.
Kết thúc Tiến trình bằng Tên Tiến trình
Trong bước này, bạn sẽ học cách sử dụng lệnh pkill
để kết thúc các tiến trình bằng tên tiến trình của chúng.
Đầu tiên, hãy bắt đầu một vài tiến trình mà chúng ta có thể sử dụng cho ví dụ này:
## Start a few processes
sleep 1000 &
firefox &
gedit &
Bây giờ, hãy sử dụng pkill
để kết thúc tiến trình Firefox bằng tên của nó:
sudo pkill -f firefox
Ví dụ đầu ra:
[2]+ Terminated firefox
Như bạn có thể thấy, tiến trình Firefox đã bị kết thúc.
Bạn cũng có thể sử dụng các ký tự đại diện (wildcards) với lệnh pkill
để khớp với nhiều tiến trình theo tên. Ví dụ: để kết thúc tất cả các tiến trình có "gedit" trong tên của chúng:
sudo pkill -f gedit
Ví dụ đầu ra:
[3]+ Terminated gedit
Nếu bạn muốn kết thúc tất cả các tiến trình phù hợp với một mẫu cụ thể, bạn có thể sử dụng tùy chọn -e
để chỉ định một biểu thức chính quy (regular expression):
sudo pkill -ef 'sleep|firefox'
Lệnh này sẽ kết thúc tất cả các tiến trình có "sleep" hoặc "firefox" trong tên của chúng.
Ví dụ đầu ra:
[1]+ Terminated sleep 1000
[2]+ Terminated firefox
Hãy nhớ rằng, lệnh pkill
là một công cụ mạnh mẽ, vì vậy hãy sử dụng nó một cách thận trọng để tránh vô tình kết thúc các tiến trình hệ thống quan trọng.
Kết thúc Tiến trình bằng ID Tiến trình
Trong bước này, bạn sẽ học cách sử dụng lệnh pkill
để kết thúc các tiến trình bằng ID tiến trình (PID) của chúng.
Đầu tiên, hãy bắt đầu một tiến trình mới mà chúng ta có thể sử dụng cho ví dụ này:
## Start a new process
sleep 1000 &
Để lấy PID của tiến trình sleep
, bạn có thể sử dụng lệnh ps
:
ps -ef | grep sleep
Ví dụ đầu ra:
labex 3456 3455 0 11:30 pts/0 00:00:00 sleep 1000
Trong ví dụ này, PID của tiến trình sleep
là 3456
.
Bây giờ, hãy sử dụng pkill
để kết thúc tiến trình bằng PID của nó:
sudo pkill -P 3456
Ví dụ đầu ra:
[1]+ Terminated sleep 1000
Như bạn có thể thấy, tiến trình sleep
đã bị kết thúc.
Bạn cũng có thể sử dụng tùy chọn -9
để gửi tín hiệu SIGKILL đến tiến trình, tín hiệu này sẽ buộc tiến trình kết thúc ngay lập tức:
sudo pkill -9 -P 3456
Lệnh này sẽ kết thúc tiến trình có PID là 3456 bằng tín hiệu SIGKILL.
Ví dụ đầu ra:
[1]+ Killed sleep 1000
Hãy nhớ rằng, lệnh pkill
là một công cụ mạnh mẽ, vì vậy hãy sử dụng nó một cách thận trọng để tránh vô tình kết thúc các tiến trình hệ thống quan trọng.
Tóm tắt
Trong lab này, bạn đã tìm hiểu về lệnh pkill
trong Linux, cho phép bạn kết thúc các tiến trình bằng tên hoặc ID tiến trình (PID). Bạn đã khám phá cách sử dụng pkill
để kết thúc các tiến trình bằng tên của chúng, cung cấp các ví dụ về việc kết thúc tất cả các tiến trình có tên "firefox" bằng tín hiệu SIGTERM mặc định hoặc tín hiệu SIGKILL để buộc kết thúc ngay lập tức. Ngoài ra, bạn đã học cách kết thúc các tiến trình bằng PID của chúng bằng cách sử dụng tùy chọn -P
. Lệnh pkill
là một công cụ mạnh mẽ để quản lý các tiến trình trong hệ thống Linux, nhưng nó nên được sử dụng một cách thận trọng để tránh vô tình kết thúc các tiến trình hệ thống quan trọng.