GNU/Linux >> Belajar Linux >  >> Linux

Cara membunuh proses zombie

Zombie sudah mati, jadi Anda tidak bisa membunuhnya. Untuk membersihkan zombie, harus ditunggu oleh induknya, jadi membunuh induknya harus berhasil untuk menghilangkan zombie tersebut. (Setelah orang tua meninggal, zombie akan diwarisi oleh pid 1, yang akan menunggunya dan menghapus entrinya di tabel proses.) Jika daemon Anda menghasilkan anak yang menjadi zombie, Anda memiliki bug. Daemon Anda akan mengetahui kapan anaknya mati dan wait pada mereka untuk menentukan status keluar mereka.

Contoh bagaimana Anda dapat mengirim sinyal ke setiap proses yang merupakan induk dari zombie (perhatikan bahwa ini sangat kasar dan dapat mematikan proses yang tidak Anda inginkan. Saya tidak menyarankan menggunakan palu godam semacam ini):

# Don't do this.  Incredibly risky sledge hammer!
kill $(ps -A -ostat,ppid | awk '/[zZ]/ && !a[$2]++ {print $2}')

Saya mencoba:

ps aux | grep -w Z   # returns the zombies pid
ps o ppid {returned pid from previous command}   # returns the parent
kill -1 {the parent id from previous command}

ini akan berhasil :)


Menemukannya di http://www.linuxquestions.org/questions/suse-novell-60/howto-kill-defunct-processes-574612/

2) Ini tip bagus dari pengguna lain (Thxs Bill Dandreta):Terkadang

kill -9 <pid>

tidak akan membunuh proses. Jalankan

ps -xal

bidang ke-4 adalah proses induk, bunuh semua orang tua zombie dan zombie mati!

Contoh

4 0 18581 31706 17 0 2664 1236 wait S ? 0:00 sh -c /usr/bin/gcc -fomit-frame-pointer -O -mfpmat
4 0 18582 18581 17 0 2064 828 wait S ? 0:00 /usr/i686-pc-linux-gnu/gcc-bin/3.3.6/gcc -fomit-fr
4 0 18583 18582 21 0 6684 3100 - R ? 0:00 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/cc1 -quie

18581 , 18582 , 18583 adalah zombie -

kill -9 18581 18582 18583

tidak berpengaruh.

kill -9 31706

menghapus zombie.


Anda dapat membersihkan proses zombi dengan mematikan proses induknya dengan perintah berikut:

kill -HUP $(ps -A -ostat,ppid | awk '{/[zZ]/{ print $2 }')

Linux
  1. Cara Menemukan dan Membunuh Proses Zombie di Linux

  2. Apa Proses Zombie Dan Bagaimana Menemukan &Membunuh Proses Zombie?

  3. Cara mematikan proses <defunct> dengan induk 1

  1. Cara mematikan proses zombie di Linux

  2. Bagaimana Membunuh Proses Yang Induknya Init?

  3. Proses Keturunan?

  1. Bagaimana cara mematikan proses di Linux menggunakan perintah?

  2. Linux:Temukan dan Bunuh Proses Zombie

  3. Bagaimana cara mengatur direktori kerja dari proses induk?