Что означает [..] в «ps» и как создать подобный процесс?

Что означает [..] в «ps» и как создать подобный процесс?

При запуске psвы получите что-то вроде:

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]

Все процессы-демоны обычно заключены в [..]квадратные скобки.

Что они означают (если означают что-то)? Как создать процесс, который выглядит так?

Причина, по которой я спрашиваю, заключается в том, что мы создаем системный демон из rcS (программа использует fork для создания демона), но запись ps выглядит так:

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

Поэтому мы задались вопросом, важны ли скобки [..]и как процессы их получают в первую очередь.

Спасибо.

решение1

Квадратные скобки используются для процессов, не имеющих связанной командной строки (в основном потоки ядра и некоторые системные службы).

Если я правильно помню, вы могли бы добиться того же эффекта для своего процесса, установив argv[0]пустую строку.

решение2

Да, это потоки ядра, созданные подсистемами ядра. Они создаются с помощью функций kthread_create() или kernel_thread() в ядре.

решение3

В вашем примере даже не показано [...], поэтому я не уверен на 100%, о чем вы говорите. Однако ВОЗМОЖНО изменить аргументы argvлюбой программы (в Linux). Аргументы отражаются в выводе ps.

Связанный контент