Was bedeuten die [..] in „ps“ und wie erstellt man einen solchen Prozess?

Was bedeuten die [..] in „ps“ und wie erstellt man einen solchen Prozess?

Beim Ausführen pserhalten Sie etwa Folgendes:

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]

Alle Daemon-Prozesse sind im Allgemeinen in [..]Klammern eingeschlossen.

Was bedeuten sie (falls überhaupt etwas)? Wie erstellt man einen Prozess, der so aussieht?

Der Grund für meine Frage ist, dass wir einen Systemdaemon aus dem rcS erstellen (das Programm verwendet fork, um den Daemon zu erstellen), aber der PS-Eintrag sieht folgendermaßen aus:

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

Daher haben wir uns gefragt, ob die Klammern wichtig sind [..]und wie die Prozesse sie überhaupt erhalten.

Danke.

Antwort1

Eckige Klammern werden für Prozesse verwendet, denen keine Befehlszeile zugeordnet ist (meistens Kernel-Threads und einige Systemdienste).

Wenn ich mich recht erinnere, können Sie für Ihren Prozess möglicherweise denselben Effekt erzielen, indem Sie argv[0]die leere Zeichenfolge festlegen.

Antwort2

Ja, es sind Kernel-Threads, die von Kernel-Subsystemen erstellt werden. Sie werden mit den Funktionen kthread_create() oder kernel_thread() im Kernel erstellt.

Antwort3

Ihr Beispiel zeigt nicht einmal das [...], daher bin ich mir nicht 100 % sicher, wovon Sie sprechen. Es ist jedoch möglich, die argvArgumente jedes Programms (unter Linux) zu ändern. Die Argumente werden in der Ausgabe von wiedergegeben ps.

verwandte Informationen