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:
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.fuente
mostly
- ¿Qué puede hacer una excepción?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.
fuente
Tu ejemplo ni siquiera muestra el
[...]
, así que no estoy 100% seguro de lo que estás hablando. Sin embargo, ES posible modificar losargv
argumentos de cualquier programa (en Linux). Los argumentos se reflejan en la salida deps
.fuente
[...]
se entiende como un marcador de posición. Me refería al[kthreadd]
<- el[]
que encapsula el nombre.