Cách hủy một tiến trình trong Gnu / Linux

Cụm máy chủ

Một trong những tác vụ mà người dùng Windows biết rõ nhất là chấm dứt tiến trình hoặc đóng ứng dụng đột ngột. Những kiểu hoạt động này phổ biến trên hệ thống Windows, nhưng không may, chúng không dành riêng cho hệ điều hành: nó cũng tồn tại trên Gnu / Linux.

Tuy nhiên, ngay cả trong Gnu / Linux, cách giải quyết những vấn đề này vẫn hiệu quả hơn so với các hệ điều hành độc quyền. Trong Gnu / Linux, có ba lệnh có mục đích là để hủy một quy trình hoặc chấm dứt một ứng dụng, Chúng được gọi là Kill, PKill và Killall.

Nhưng trước khi sử dụng chúng, trước tiên chúng ta phải biết hoặc biết PID của quá trình. PID là số nhận dạng quy trình. Nó là duy nhất và họ không có nhiều hơn một quy trình duy nhất, nó hoạt động như thể nó là DNI hoặc số hộ chiếu của một người, nó là một cái gì đó duy nhất và không thể lặp lại vào thời điểm đó.

Biết PID của một tiến trình rất đơn giản, chúng ta có thể tìm thấy nó bằng cách viết lệnh "htop" trong terminal hoặc viết trực tiếp "ps -A" trong terminal.

Trong mọi trường hợp, nó sẽ hiển thị cho chúng ta tất cả các quy trình, chương trình họ sử dụng và PID của mỗi quy trình. Bây giờ, để kết thúc một tiến trình, chúng ta phải viết như sau:

kill -9 PID

Thay vì PID, chúng tôi sẽ sử dụng mã quy trình. Biến "-9" chỉ ra rằng chúng ta muốn kết thúc quá trình. Nếu chúng tôi thay đổi nó thành "-15", chúng tôi cho biết rằng chúng tôi muốn quá trình kết thúc và nếu chúng tôi sử dụng "-1", chúng tôi sẽ tạm dừng nó.

Kill là một lệnh giúp chúng ta giết một quá trình nhưng nó sẽ chỉ hoạt động trên các quy trình mà chúng tôi đã tạo với tư cách là người dùng, chúng tôi sẽ không thể giết các quy trình từ người dùng khác hoặc từ hệ thống.

Lệnh Pkill tương tự như lệnh Kill. Nhưng không giống như phần trước, PKill cho phép chúng tôi hủy quá trình hoặc chương trình bằng cách sử dụng tên, tức là chúng ta không cần sử dụng PID của chương trình. Một ví dụ về việc sử dụng sẽ là:

PKill mysql

Lệnh Killall mạnh hơn và hiệu quả hơn các lệnh trước nhưng nó cũng nguy hiểm hơn. Killall không chỉ giết quá trình mà còn cả chương trình hoặc chức năng, giết chết tất cả các quy trình phụ thuộc vào chương trình đó. Một ví dụ về việc sử dụng Killall là

killall firefox

Kết luận

Để giết một tiến trình, bất kỳ lệnh nào ở trên đều được sử dụng, nhưng không phải tất cả chúng đều thích ứng hoàn hảo với tình huống của chúng ta. Tùy thuộc vào nhu cầu của chúng tôi hoặc vấn đề của chúng tôi, chúng tôi phải sử dụng Kill, PKill hoặc Killall. Cá nhân tôi khuyên bạn nên sử dụng PKill, vì nó đơn giản hơn và nhanh hơn. Mặc dù nếu chúng ta gặp sự cố nghiêm trọng, lệnh Killall có thể rất hữu ích Bạn có nghĩ vậy không?