'ps'에서 [..]은 무엇을 의미하며 어떻게 프로세스를 생성합니까?


10

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

그래서 우리는 '[..]'괄호를 갖는 것이 중요한지 그리고 프로세스가 처음에 어떻게 그것들을 얻는 지 궁금합니다.

감사.


답변:


14

대괄호는 관련 명령 줄이없는 프로세스 (대개 커널 스레드 및 일부 시스템 서비스)에 사용됩니다.

올바르게 기억 argv[0]하면 빈 문자열 로 설정하여 프로세스에 동일한 효과를 얻을 수 있습니다 .


1
mostly-예외는 무엇입니까?
n611x007

후행 / 0은 무엇을 의미합니까?
RyanN

4
@RyanN, 커널 스레드가 첫 번째 CPU에서 실행되고 있음을 의미합니다.
프레데릭 하 미디

5

예, 커널 서브 시스템에 의해 생성 된 커널 스레드입니다. 커널에서 kthread_create () 또는 kernel_thread () 함수를 사용하여 작성됩니다.


2

귀하의 예는조차도 표시하지 않으므로 [...]귀하가 말하는 것을 100 % 확신하지 못합니다. 그러나 argv(리눅스에서) 모든 프로그램 의 인수 를 수정할 수 있습니다 . 인수는의 출력에 반영됩니다 ps.


2
[...]자리 표시 자로 사용되었습니다. 나는 이름을 캡슐화하는 [kthreadd]<-를 언급하고 있었다 [].

아 알 겠어 그런 다음 커널 프로세스라고 생각합니다.
Chris Eberle
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.