Như trong các câu trả lời ở trên, cách mạnh nhất để chấm dứt bất kỳ quá trình nào SIGKILL, vd kill -9 process_id.
Tuy nhiên, tồn tại quá trình những gì chỉ đơn giản là không thể Force Quitvà cũng không kill. Họ gọi là zombiequá trình.
Đây là một đoạn script ngắn sẽ tạo ra một zombiequy trình trong hai phút:
perl -e 'if($p=fork) {print "unkillable pid:$p\n" ;system("ps -l"); sleep(120)}'
Chạy đoạn script trên trong Terminal và bạn sẽ nhận được đầu ra, như tiếp theo:
unkillable pid:50571
UID PID PPID F CPU PRI NI SZ RSS WCHAN S ADDR TTY TIME CMD
501 47380 47379 4006 0 31 0 2448416 2900 - S 0 ttys000 0:00.36 -bash
501 50570 47380 4006 0 31 0 2443512 1424 - S+ 0 ttys000 0:00.01 perl -e if($p=fork) {print "u
#THIS-> 501 50571 50570 2006 0 0 0 0 0 - Z+ 0 ttys000 0:00.00 (perl)
501 12795 12794 4006 0 31 0 2448296 1752 - S+ 0 ttys001 0:00.75 -bash
501 50123 50122 4006 0 31 0 2448296 2688 - S+ 0 ttys002 0:00.14 -bash
Nếu bạn kiểm tra cột trạng thái cho quy trình không thành công (trong trường hợp này: 50571), bạn sẽ thấy Zcờ, có nghĩa là gì zombie.
Bạn có thể thử gửi bất kỳ killtín hiệu nào (ví dụ kill -9 50571) và quá trình vẫn sẽ tồn tại. Dù sao, nó không làm tổn thương nhiều đến hệ thống của bạn, vì thực tế nó không tồn tại - chỉ chiếm bảng quy trình.
Trong ví dụ trên, trong 120 giây, nó sẽ bị xóa.