'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에서 시스템 데몬을 생성하기 때문입니다(프로그램은 데몬을 생성하기 위해 포크를 사용합니다). 그러나 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.

관련 정보