¿Qué significa [..] en 'ps' y cómo se crea un proceso como este?


10

Cuando ejecutas ps, obtienes algo como:

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]

Todos los procesos de daemon generalmente tienen los corchetes '[..]' a su alrededor.

¿Qué quieren decir (si acaso)? ¿Cómo se crea un proceso que aparece así?

La razón por la que pregunto es que creamos un demonio del sistema desde el rcS (el programa usa fork para crear el demonio), pero la entrada ps se ve así:

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

Entonces nos preguntamos si es importante tener los corchetes '[..]' y cómo los procesos los obtienen en primer lugar.

Gracias.


Respuestas:


14

Los corchetes se usan para procesos que no tienen una línea de comando asociada (principalmente hilos de kernel y algunos servicios del sistema).

Si recuerdo correctamente, es posible que pueda lograr el mismo efecto para su proceso estableciendo argv[0]la cadena vacía.


1
mostly- ¿Qué puede hacer una excepción?
n611x007

¿Qué significa el final / 0?
RyanN

44
@RyanN, significa que el hilo del núcleo se está ejecutando en la primera CPU.
Frédéric Hamidi

5

Sí, son hilos del núcleo, creados por subsistemas del núcleo. Se crean usando las funciones kthread_create () o kernel_thread () en el kernel.


2

Tu ejemplo ni siquiera muestra el [...], así que no estoy 100% seguro de lo que estás hablando. Sin embargo, ES posible modificar los argvargumentos de cualquier programa (en Linux). Los argumentos se reflejan en la salida de ps.


2
[...]se entiende como un marcador de posición. Me refería al [kthreadd]<- el []que encapsula el nombre.

Ah, ya veo. Entonces sí, creo que esos son procesos de kernel.
Chris Eberle
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.