Che cosa significa [..] in 'ps' e come si crea un processo simile?


10

Quando esegui ps, ottieni qualcosa del tipo:

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]

Tutti i processi daemon generalmente hanno tra parentesi le parentesi '[..]'.

Cosa significano (se non altro)? Come si crea un processo che appare così?

Il motivo per cui chiedo è che creiamo un demone di sistema da rcS (il programma usa fork per creare il demone), ma la voce ps appare come:

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

Quindi ci chiedevamo se fosse importante avere le parentesi '[..]' e come i processi le portassero in primo luogo.

Grazie.


Risposte:


14

Le parentesi quadre vengono utilizzate per processi che non hanno una riga di comando associata (principalmente thread del kernel e alcuni servizi di sistema).

Se ricordo bene, potresti essere in grado di ottenere lo stesso effetto per il tuo processo impostando argv[0]la stringa vuota.


1
mostly- cosa può fare un'eccezione?
n611x007,

Cosa significa il trailing / 0?
RyanN,

4
@RyanN, significa che il thread del kernel è in esecuzione sulla prima CPU.
Frédéric Hamidi,

5

Sì, sono thread del kernel, creati dai sottosistemi del kernel. Sono creati usando le funzioni kthread_create () o kernel_thread () nel kernel.


2

Il tuo esempio non mostra nemmeno il [...], quindi non sono sicuro al 100% di cosa stai parlando. Tuttavia è possibile modificare gli argvargomenti di qualsiasi programma (in Linux). Gli argomenti si riflettono nell'output di ps.


2
[...]era inteso come segnaposto. Mi riferivo al [kthreadd]<- il []che incapsula il nome.

ah capisco. Quindi sì, credo che quelli siano processi del kernel.
Chris Eberle,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.