Zombi adalah proses MATI. Mereka tidak dapat 'membunuh' (Anda tidak dapat membunuh MATI). Semua proses akhirnya mati, dan ketika mereka melakukannya mereka menjadi zombie. Mereka hampir tidak mengkonsumsi sumber daya, yang diharapkan karena mereka sudah mati! Alasan zombie adalah agar orang tua zombie (proses) dapat mengambil status keluar zombie dan statistik penggunaan sumber daya. Induk memberi tanda sistem operasi bahwa ia tidak lagi membutuhkan zombie dengan menggunakan salah satu dari panggilan tunggu () sistem.
Ketika suatu proses mati, anaknya memproses semua menjadi anak-anak dari proses nomor 1, yang merupakan proses init. Init `` selalu '' menunggu anak-anak mati, sehingga mereka tidak tetap sebagai zombie.
Jika Anda memiliki proses zombie, artinya zombie tersebut belum ditunggu oleh orang tua mereka (lihat PPID yang ditampilkan oleh ps -l
). Anda memiliki tiga pilihan: Perbaiki proses induk (tunggu sebentar); bunuh orang tua; atau hidup dengannya. Ingatlah bahwa hidup dengan itu tidak begitu sulit karena zombie mengambil sedikit lebih dari satu baris tambahan dalam output ps.
Zombi dapat diidentifikasi dalam output dari perintah ps Unix dengan kehadiran "Z" di kolom STAT. Zombi yang ada selama lebih dari periode waktu singkat biasanya menunjukkan bug di program induknya. Seperti kebocoran lainnya, keberadaan beberapa zombie tidak mengkhawatirkan dengan sendirinya, tetapi dapat mengindikasikan masalah yang akan menjadi serius di bawah beban yang lebih berat.
Untuk menghapus zombie dari suatu sistem, sinyal SIGCHLD dapat dikirim ke induk secara manual, menggunakan perintah kill. Jika proses induk masih menolak untuk menuai zombie, langkah selanjutnya adalah menghapus proses induk. Ketika suatu proses kehilangan induknya, init menjadi induk baru. Init secara berkala mengeksekusi panggilan sistem tunggu untuk menuai zombie apa pun dengan init sebagai induk.
Ada juga proses yatim yang merupakan proses komputer yang proses induknya telah selesai atau diakhiri.
Suatu proses dapat menjadi yatim piatu selama doa jarak jauh ketika proses klien macet setelah membuat permintaan server.
Anak yatim memboroskan sumber daya server dan berpotensi meninggalkan server dalam kesulitan (Ini adalah perbedaan sumber daya terbesar antara zombie dan anak yatim (Kecuali jika Anda menonton film zombie anak yatim). Namun ada beberapa solusi untuk masalah proses anak yatim:
Pemusnahan adalah teknik yang paling umum digunakan; dalam hal ini proses anak yatim terbunuh.
Reinkarnasi adalah teknik di mana mesin secara berkala mencoba mencari orang tua dari segala komputasi jarak jauh; di mana proses yatim piatu terbunuh.
Kedaluwarsa adalah teknik di mana setiap proses diberikan sejumlah waktu untuk diselesaikan sebelum dibunuh. Jika perlu proses dapat "meminta" lebih banyak waktu untuk menyelesaikan sebelum waktu yang ditentukan berakhir.
Suatu proses juga dapat menjadi yatim piatu yang berjalan pada mesin yang sama dengan proses induknya. Dalam sistem operasi mirip-UNIX, setiap proses yatim piatu akan segera diadopsi oleh proses sistem "init" khusus. Operasi ini disebut pengasuhan ulang dan terjadi secara otomatis. Meskipun secara teknis proses tersebut memiliki proses "init" sebagai induknya, proses ini masih disebut proses yatim karena proses yang semula membuatnya tidak ada lagi.
Info lebih lanjut:
http://wiki.answers.com/Q/What_is_Zombie_Process_and_Orphan_Process#ixzz1PCN9vojU
http://www.linuxsa.org.au/tips/zombies.html
http://www.brighthub.com/computing/linux/articles/79186.aspx
Bagaimana cara mengidentifikasi dan membunuh proses gantung, ketika sistem hang dan bereaksi lambat pada input pengguna?
Membunuh proses yang berjalan di mesin Ubuntu dari jarak jauh dari mesin windows yang ada di LAN