Karena saya pemula dalam sistem Linux / Unix dan baru saja membaca tentang proses zombie , saya punya satu pertanyaan. Saya punya 10 dari mereka sekarang. Apakah saya perlu membunuh mereka dan jika ya, mengapa? Apakah mereka memuat pada sistem saya?
592 processes: 581 sleeping, 1 running, 10 zombie, 0 stopped
Jawaban:
Anda tidak dapat membunuh zombie, itu sudah mati.
Sumber daya dari proses itu gratis dan tersedia untuk proses lain. Yang tersisa adalah entri dalam tabel proses. Ini tidak memiliki pengaruh pada kinerja, jangan khawatir.
sumber
/proc/sys/kernel/pid_max
, sama seperti PID lainnya.Sumber: http://www.linuxsa.org.au/tips/zombies.html
Dan jika Anda sedang bersenang-senang, utas superuser ini mungkin menarik bagi Anda: Bagaimana Anda menemukan proses induk dari proses zombie?
sumber
Anda tidak perlu membunuh mereka.
Untuk membangun beberapa pemahaman dasar:
Setiap proses adalah anak dari proses induk (kecuali untuk proses init, tetapi kita tidak perlu khawatir tentang itu).
Ketika proses anak selesai dieksekusi, mungkin masih berisi data yang ingin diakses oleh proses induk, biasanya kode keluar yang menjelaskan hasil proses anak (Apakah berhasil? Apakah itu salah? Apa kode kesalahannya?).
Proses anak yang sudah selesai hang di dalam tabel proses sebagai proses zombie sampai proses induk "menuai" atau menunggu proses anak, yang hanya proses induk memberitahu OS bahwa tidak perlu proses anak itu lagi; Ia telah membaca nilai pengembalian apa pun yang diinginkannya, dan selesai dengannya. Pada titik ini, sistem akan membersihkan entri dalam tabel proses.
sumber
Proses ini tidak perlu dibunuh.
Kalau-kalau Anda memang ingin membunuhnya (untuk alasan apa pun), pastikan Anda menembak kepalanya, berikut ini adalah perintah yang berguna:
Dari https://www.erianna.com/kill-a-linux-zombie-process
sumber
shoot at the head
.