LINUX - UNIX

Xử lý tiến trình zombie trong Linux nhanh chóng trong 1 nốt nhạc

Những ai làm việc nhiều với Linux hay Unix chắc hẳn cũng từng gặp qua trường hợp bị tiến trình zombie (tiến trình thây ma, xác sống, defunct) này xuất hiện. Tùy vào mỗi loại zombie mà cách xử lý tiến trình zombie khác nhau. Nó có thể xuất hiện ngay sau khi bạn reboot server, cũng có thể là sau một khoảng thời gian sử dụng.

xử lý tiến trình zombie 1

Tiến trình zombie là gì?

Tiến trình zombie, hiểu nôm na zombie là xác sống, tiến trình zombie là tiến trình xác sống, tiến trình còn chạy nhưng không còn hoạt động nữa, sống như đã chết. Tuy nhiên, các tiến trình này có thể gây ra tải cao cho Server hoặc chết service của Server.

Tiến trình defunct là gì?

Tiến trình defunct chính là tiến trình zombie. Bạn có thể kiểm tra các tiến trình zombie bằng cách gõ lệnh
ps -ef | grep defunct

Tiến trình zombie có ảnh hưởng gì?

Thường thì tiến trình zombie không gây ảnh hưởng gì nhiều. Tuy nhiên, trong một số trường hợp cụ thể nó sẽ gây ảnh hưởng đến hệ thống như: không start lại tiến trình, tiến trình không chết hẳn có thể làm hệ thống monitor không theo dõi được.

Đọc thêm:  Cách SSH vào Server khác tự động không cần password trong 1 nốt nhạc

Ngoài ra tiến trình zombie sẽ gây cao tải hệ thống (load average), thông thường giá trị này khoảng dưới 1, nhưng khi có zombie các tài nguyên không được giải phóng nó sẽ có thể lên 100 thậm chí 200 nếu nhiều tiến trình bị zombie.

Một số tiến trình nếu bị zombie sẽ không hoạt động, ví dụ như SSH, trong quá trình xử lý các zombie để viết bài này tôi đã bị zombie service sshd và không thể làm gì hơn được do không thể su – root và login thêm.

xử lý tiến trình zombie 4

Phát hiện tiến trình zombie

Chúng ta dùng lệnh top, ps để kiểm tra có tiến trình zombie trên server không.
#top -n1

#ps aux | grep z

#ps -ef | grep defunct

Xử lý tiến trình zombie

Cách đơn giản nhất để xử lý zombie process là reboot lại server, cách này hay sử dụng khi các cách khác không phát huy hiệu quả.

Để xử lý tiến trình zombie, chúng ta thử kill -9 id tiến trình đó. Nếu ko kill dc, chúng ta thử tìm và kill -HUP tiến trình cha sẽ ok luôn

Áp dụng xử lý tiến trình zombie trong trường hợp cụ thể

Nhận biết server có bị tiến trình zombie hay không
#uptime

#top -n1
Nếu load avarage cao hoặc lệnh top -n1 sẽ show ngay số lượng tiến trình zombie

xử lý tiến trình zombie defunct

Check tiến trình nào bị Zombie, tìm tiến trình cha nếu có để restart nó trong trường hợp không restart được tiến trình con
#ps aux | grep Z
#ps -ef | grep id_tiến_trình

zombie defunt 3

Các tiến trình zombie sẽ có chữ <defunct> phía sau

Đọc thêm:  3 Phần mềm SSH client vào Server không thể bỏ qua cho System Admin

xử lý tiến trình zombie 2

Thử restart lại tiến trình
#kill -HUP 

#killall -HUP tên_tiến_trình

#kill -9
Thử restart tiến trình cha với các câu lệnh phía trên hoặc
#service restart Tên_tiến_trình
Cách cuối cùng nếu các tiến trình zombie ảnh hưởng đến hệ thống của bạn
#reboot

Ví dụ xử lý tiến trình Zombie 1

Các bạn có thể thử kill -HUP hoặc tìm tiến trình cha để kill

xử lý tiến trình zombie

Ví dụ xử lý tiến trình Zombie 2

  1. Tìm tiến trình Zombie
  2. Thử kill tiến trình
  3. Kiểm tra lại tiến trình có kill dc không
  4. Kiểm tra tiến trình cha của zombie
  5. Kill tiến trình cha
  6. Kiểm tra lại

xử lý tiến trình zombie defunct

Xử lý tiến trình zombie trong trường hợp không kill được tiến trình cha

Trong 1 số trường hợp thì một số trình diệt virus có thể là khả năng gây ra lỗi zoombie, bạn có thể restart lại tiến trình này nhé. Tôi đã từng bị trình diệt virus mcaffee thi thoảng làm treo tiến trình khác của mình. Trong case này chỉ việc restart lại trình diệt virus là xong.

#service cma status

#service cma stop

#service cma start

#service cma status

#service nail status

#service nail stop

#service nail start

#service nail status

Tổng kết

Trên đây tôi đã hướng dẫn các bạn một số cách xử lý tiến trình zombie trong linux. Nếu thấy hay hãy chia sẻ và đăng ký nhận bài viết hay! Còn chỗ nào không hiểu vui lòng comment cho ý kiến. Tôi luôn sẵn sàng giúp đỡ!

Chúc các bạn thành công!

5/5 - (2 bình chọn)

A Tùng

IT guy, thích đam mê công nghệ, Server, Linux, Wordpress, SEO và uống trà

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Back to top button