Cengkerang

Cara Membuat Proses Zombie Dummy di Ubuntu 18.04 LTS

Cara Membuat Proses Zombie Dummy di Ubuntu 18.04 LTS

Sebagai penguji perisian, kadangkala kita perlu mengetahui bagaimana proses zombie pada sistem kita. Kita boleh menjalankan pelbagai ujian jika kita mengetahui secara spesifik program dan ID proses mana yang dikaitkan dengan proses zombie itu.

Apa itu Proses Zombie?

Zombie atau proses yang tidak berfungsi di Linux adalah proses yang telah diselesaikan, tetapi kemasukannya masih kekal dalam jadual proses kerana kurangnya korespondensi antara proses ibu bapa dan anak. Biasanya, proses ibu bapa memeriksa status proses anaknya melalui fungsi tunggu (). Apabila proses anak selesai, fungsi menunggu memberi isyarat kepada ibu bapa untuk keluar sepenuhnya dari memori. Walau bagaimanapun, jika ibu bapa gagal memanggil fungsi menunggu untuk mana-mana anaknya, proses anak tetap hidup dalam sistem sebagai proses mati atau zombie. Proses zombie ini mungkin terkumpul, dalam jumlah yang banyak, pada sistem anda dan mempengaruhi prestasinya.

Apabila anda menjalankan perintah teratas dan zombie sedang berjalan, ia akan ditunjukkan oleh baris kedua output seperti berikut:

Namun, jika tidak ada proses zombie yang berjalan di sistem anda, anda dapat membuat boneka untuk tujuan pengujian seperti yang dijelaskan dalam artikel ini. Kami menjalankan proses ini di Ubuntu 18.04.

Membuat Proses Zombie

Di bahagian ini, kami akan menulis program c untuk menjalankan proses zombie pada sistem kami.

Buka editor teks dan masukkan kod berikut:

Kod

#sertakan  #sertakan  #sertakan int utama () pid_t child_pid; child_pid = garpu (); jika (child_pid> 0) tidur (60);  lain jalan keluar (0);  pulangkan 0; 

Simpan fail ini sebagai zombie.c

Proses zombie yang dibuat melalui kod ini akan berjalan selama 60 saat. Anda boleh meningkatkan jangka masa dengan menentukan waktu (dalam beberapa saat) dalam fungsi tidur ().

Buka Terminal dan jalankan arahan berikut untuk menyusun program ini:

$ cc zombie.c -o zombie

Sekarang fail yang boleh dilaksanakan dengan nama zombie akan dibuat.

Harap perhatikan bahawa anda perlu memasang penyusun GNU C jika belum dipasang pada sistem anda melalui arahan berikut:

$ sudo apt-get install build-essential

Sekarang jalankan program zombie melalui arahan berikut:

./ zombie

Anda akan melihat output berikut:

Anda boleh menggunakan ID proses induk (PPID) dan ID proses anak (PID) semasa ujian; contohnya dengan membunuh proses zombie ini melalui perintah kill.

Semasa proses ini berjalan, anda dapat melihat prestasi sistem di tetingkap Terminal yang lain melalui perintah atas. Anda akan dapat melihat 1 proses zombie melalui baris kedua output.

Perintah ps sekarang juga akan menunjukkan proses yang tidak berfungsi ini dan program zombie yang bertanggungjawab untuknya:

$ ps axo stat, ppid, pid, comm | grep -w tidak berfungsi

Perintah ini akan memberi anda status, parentID, ID proses, program yang menjalankan proses zombie (program zombie yang kami jalankan dalam tutorial ini).

Anda kini telah belajar bagaimana membuat proses zombie dummy yang mudah. Ini akan memberi anda gambaran tentang bagaimana penampilannya di sistem anda dan bagaimana anda dapat menggunakannya untuk tujuan pengujian.

SuperTuxKart untuk Linux
SuperTuxKart adalah tajuk hebat yang direka untuk membawa anda pengalaman Mario Kart secara percuma pada sistem Linux anda. Ia cukup mencabar dan meny...
Tutorial Battle for Wesnoth
The Battle for Wesnoth adalah salah satu permainan strategi sumber terbuka paling popular yang boleh anda mainkan pada masa ini. Bukan hanya permainan...
0 A.D. Tutorial
Daripada banyak permainan strategi di luar sana, 0 A.D. berjaya menonjol sebagai tajuk yang komprehensif dan permainan taktikal yang sangat mendalam w...