Saat menjalankan ps, Anda mendapatkan sesuatu seperti:
root 2 0.0 0.0 0 0 ? S< 00:00 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S< 00:00 0:00 [ksoftirqd/0]
root 4 0.0 0.0 0 0 ? S< 00:00 0:00 [events/0]
Semua proses daemon umumnya memiliki tanda kurung '[..]' di sekitar mereka.
Apa artinya (jika ada)? Bagaimana Anda membuat proses yang muncul seperti ini?
Alasan saya bertanya adalah kita membuat daemon sistem dari rcS (program menggunakan fork untuk membuat daemon), tetapi entri ps terlihat seperti:
root 207 0.0 0.2 1516 200 ? S 00:00 0:00 /root/testdaemo
Jadi kami bertanya-tanya apakah penting untuk memiliki tanda kurung '[..]' dan bagaimana proses mendapatkannya sejak awal.
Terima kasih.
Jawaban:
Kurung kotak digunakan untuk proses yang tidak memiliki baris perintah terkait (kebanyakan utas kernel dan beberapa layanan sistem).
Jika saya ingat dengan benar, Anda mungkin dapat mencapai efek yang sama untuk proses Anda dengan mengatur
argv[0]
ke string kosong.sumber
mostly
- apa yang bisa membuat pengecualian?Ya, itu adalah utas kernel, dibuat oleh subsistem kernel. Mereka dibuat menggunakan fungsi kthread_create () atau kernel_thread () di kernel.
sumber
Contoh Anda bahkan tidak menunjukkan
[...]
, jadi saya tidak 100% yakin apa yang Anda bicarakan. Namun itu mungkin untuk memodifikasiargv
argumen dari program apa pun (di Linux). Argumen tersebut tercermin dalam output darips
.sumber
[...]
dimaksudkan sebagai pengganti. Saya merujuk pada[kthreadd]
<- the[]
yang merangkum nama.