Que signifie le [..] dans «ps» et comment créer un processus comme celui-ci?

10

Lorsque vous exécutez ps, vous obtenez quelque chose comme:

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]

Tous les processus démon ont généralement les parenthèses «[..]» autour d'eux.

Que signifient-ils (le cas échéant)? Comment créez-vous un processus qui ressemble à ceci?

La raison pour laquelle je demande est que nous créons un démon système à partir du rcS (le programme utilise fork pour créer le démon), mais l'entrée ps ressemble à:

root       207  0.0  0.2   1516   200 ?        S    00:00   0:00 /root/testdaemo

Nous nous demandions donc s'il était important d'avoir les parenthèses «[..]» et comment les processus les obtenaient en premier lieu.

Merci.

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

Réponses:

14

Les crochets sont utilisés pour les processus qui n'ont pas de ligne de commande associée (principalement les threads du noyau et certains services système).

Si je me souviens bien, vous pourriez être en mesure d'obtenir le même effet pour votre processus en définissant argv[0]la chaîne vide.

Frédéric Hamidi
la source
1
mostly- qu'est-ce qui peut faire une exception?
n611x007
Que signifie le suivi / 0?
RyanN
4
@RyanN, cela signifie que le thread du noyau s'exécute sur le premier processeur.
Frédéric Hamidi
5

Oui, ce sont des threads du noyau, créés par des sous-systèmes du noyau. Ils sont créés à l'aide des fonctions kthread_create () ou kernel_thread () dans le noyau.


la source
2

Votre exemple ne montre même pas le [...], donc je ne suis pas sûr à 100% de ce dont vous parlez. Cependant il EST possible de modifier les argvarguments de n'importe quel programme (sous Linux). Les arguments sont reflétés dans la sortie de ps.

Chris Eberle
la source
2
[...]a été conçu comme un espace réservé. Je faisais allusion au [kthreadd]<- le []qui encapsule le nom.
Ah, je vois. Alors oui, je crois que ce sont des processus du noyau.
Chris Eberle