Apa arti [..] dalam 'ps' dan bagaimana Anda membuat proses seperti itu?

10

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.

pengguna626201
sumber
unix.stackexchange.com/questions/22121/…
Ciro Santilli 冠状 病毒 审查 六四 六四 事件 法轮功

Jawaban:

14

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.

Frédéric Hamidi
sumber
1
mostly- apa yang bisa membuat pengecualian?
n611x007
Apa arti dari trailing / 0?
RyanN
4
@RyanN, itu artinya utas kernel berjalan pada CPU pertama.
Frédéric Hamidi
5

Ya, itu adalah utas kernel, dibuat oleh subsistem kernel. Mereka dibuat menggunakan fungsi kthread_create () atau kernel_thread () di kernel.


sumber
2

Contoh Anda bahkan tidak menunjukkan [...], jadi saya tidak 100% yakin apa yang Anda bicarakan. Namun itu mungkin untuk memodifikasi argvargumen dari program apa pun (di Linux). Argumen tersebut tercermin dalam output dari ps.

Chris Eberle
sumber
2
[...]dimaksudkan sebagai pengganti. Saya merujuk pada [kthreadd]<- the []yang merangkum nama.
ah saya mengerti. Maka ya saya percaya itu adalah proses kernel.
Chris Eberle