GNU/Linux >> Belajar Linux >  >> Linux

Mengapa saya tidak bisa mematikan proses ini di Linux?

Untuk menjawab pertanyaan nomor 1:

Ketika suatu proses memunculkan proses anak, masing-masing anak memiliki PID mereka sendiri. PPID dari setiap anak (id proses induk) adalah PID dari proses induknya. Jika induknya meninggal, maka proses anaknya menjadi yatim piatu. Proses yatim secara otomatis diambil oleh proses init sistem yang memiliki PID 1.


Masalah

Skrip Anda mungkin membuat zombie karena kill -9 Anda perintah; seperti yang disarankan dari jawaban jjlin juga tidak pernah merupakan praktik yang baik untuk membunuh secara tiba-tiba beberapa proses tanpa dipaksa.

Dari man bash kita bisa membaca:

Proses yang ditandai adalah proses mati (disebut "zombie ") yang tersisa karena induknya tidak menghancurkannya dengan benar .Proses ini akan dihancurkan oleh init(8) jika proses induk keluar.

Jawaban #1: Proses init memiliki PID 1 dan untuk ini Linux menugaskan mereka induk dengan PID 1 (karena menugaskan mereka ke init ).

Jawaban #2: Mereka tidak bisa dibunuh begitu saja karena mereka hanya mati ... jika induknya adalah init mungkin cukup menunggu beberapa saat.

Untuk menghapus zombie dari sistem, sinyal SIGCHLD dapat dikirim ke induknya secara manual, menggunakan perintah kill. Jika proses induk masih menolak menuai zombie, langkah selanjutnya adalah menghapus proses induk. Ketika suatu proses kehilangan induknya, init menjadi induk barunya. Init secara berkala menjalankan panggilan sistem tunggu untuk menuai zombie apa pun dengan init sebagai induknya. [1]

Untuk berjaga-jaga jika suatu saat ide ini muncul:to #kill -9 init proses dengan hak istimewa root adalah perangkat lunak yang setara dengan mencabut komputer secara fisik dari jaringan listrik. [:-)]

Namun proses zombie dapat diidentifikasi dalam output ps perintah dengan adanya "Z" di STAT kolom. Anda dapat menggunakan baris berikut untuk mengidentifikasinya dengan mudah

ps -aux | grep Z

Beberapa referensi tentang dunia zombie Linux :

  • Apakah ada cara untuk mematikan proses zombi tanpa memulai ulang?
  • Apa itu proses zombie
  • Cara membunuh proses zombie
  • [1] Dari banyak sumber di internet

Linux
  1. Cara mematikan proses zombie di Linux

  2. Cara membunuh proses zombie

  3. Cara Menjeda/Melanjutkan Proses di Linux

  1. Linux – Kapan Saya Tidak Harus Membunuh -9 Proses?

  2. Bagaimana cara mematikan proses di Linux menggunakan perintah?

  3. Mengapa saya tidak bisa menghapus file ini sebagai root?

  1. bunuh Contoh Perintah di Linux

  2. Mengapa proses anak masih hidup setelah proses induk dimatikan di Linux?

  3. skrip linux untuk membunuh proses java