Apakah Anda punya senapan laras ganda di dekat sini?
EEAA
Jawaban:
28
Tidak ada yang perlu dikhawatirkan:
Zombie
Pada sistem operasi Unix, proses zombie atau proses mati adalah proses yang telah menyelesaikan eksekusi tetapi masih memiliki entri dalam tabel proses, memungkinkan proses yang memulainya untuk membaca status keluarnya. Dalam metafora yang penuh warna, proses anak telah mati tetapi belum menuai.
Ketika suatu proses berakhir, semua memori dan sumber daya yang terkait dengannya dialokasikan sehingga mereka dapat digunakan oleh proses lain. Namun, entri proses dalam tabel proses tetap. Orang tua dikirim sinyal SIGCHLD yang menunjukkan bahwa seorang anak telah meninggal; pawang untuk sinyal ini biasanya akan menjalankan panggilan sistem tunggu, yang membaca status keluar dan menghilangkan zombie. ID proses zombie dan entri dalam tabel proses kemudian dapat digunakan kembali. Namun, jika orang tua mengabaikan SIGCHLD, zombie akan ditinggalkan di tabel proses. Dalam beberapa situasi ini mungkin diinginkan, misalnya jika orang tua membuat proses anak lain memastikan bahwa itu tidak akan dialokasikan ID proses yang sama.
Terima kasih Marc deskripsi yang baik; sekarang bagaimana saya menemukannya, mencari tahu apakah akan menyimpannya, dan jika tidak, maka hapus (dan pesannya).
John Mee
Biasanya mereka akan mati sendiri, jika ini benar-benar membuat Anda kesal, Anda dapat mem-boot ulang atau menemukan proses induk PID dan membunuhnya, tetapi tergantung pada apa yang meninggalkan zombie di belakang, yang mungkin bermasalah untuk mematikan proses tertentu.
Marc-Andre R.
2
Jangan lupa untuk menerima jawaban saya jika ini adalah jawaban nyata untuk pertanyaan Anda;) terima kasih!
Marc-Andre R.
10
Maaf, Anda hanya menjawab bagian pertama dari pertanyaannya. Masih belum jelas apakah orang harus khawatir tentang hal itu dan apa yang harus dilakukan.
0
Seperti dijelaskan dalam jawaban yang diterima, Anda memiliki proses yang telah menyelesaikan eksekusi tetapi masih dalam tabel proses: https://serverfault.com/a/390216/48449
Ini seharusnya tidak membahayakan jika hanya satu proses, tetapi tetap tidak boleh terjadi. Jika ada terlalu banyak dan Anda tidak me-reboot atau memulai ulang proses induk penyebab yang menghasilkannya, Anda dapat mencapai jumlah maksimum dari proses yang diizinkan dan menyebabkan masalah serius.
Untuk mengetahui apakah kekhawatiran itu tepat dan proses lain yang menjadi milik zombie, ini bekerja untuk saya:
ps -elf --forest | grep -C5 '<[d]efunct>'
Tambah jumlah baris konteks jika perlu untuk mencari tahu tentang proses induk, idealnya perbaiki proses itu untuk membuatnya "menuai" subproses akhirnya.
Jawaban:
Tidak ada yang perlu dikhawatirkan:
Sumber: http://wiki.answers.com/Q/What_is_Zombie_Process_and_Orphan_Process
sumber
Seperti dijelaskan dalam jawaban yang diterima, Anda memiliki proses yang telah menyelesaikan eksekusi tetapi masih dalam tabel proses: https://serverfault.com/a/390216/48449
Ini seharusnya tidak membahayakan jika hanya satu proses, tetapi tetap tidak boleh terjadi. Jika ada terlalu banyak dan Anda tidak me-reboot atau memulai ulang proses induk penyebab yang menghasilkannya, Anda dapat mencapai jumlah maksimum dari proses yang diizinkan dan menyebabkan masalah serius.
Untuk mengetahui apakah kekhawatiran itu tepat dan proses lain yang menjadi milik zombie, ini bekerja untuk saya:
Tambah jumlah baris konteks jika perlu untuk mencari tahu tentang proses induk, idealnya perbaiki proses itu untuk membuatnya "menuai" subproses akhirnya.
sumber