ps 프로세스 이름은 [] 안에 인쇄됩니다. 예를 들어 [cgroup]은 무엇을 의미합니까? [복사]

ps 프로세스 이름은 [] 안에 인쇄됩니다. 예를 들어 [cgroup]은 무엇을 의미합니까? [복사]

CentOS 6에서 ps -aux와 같은 명령을 실행하면 아래와 같이 [] 안에 해당 명령이 나열된 여러 프로세스가 표시됩니다. 이름에 있는 []는 무슨 뜻인가요? 나는 이것이 일종의 특별한 프로세스라고 가정하고 있습니다. 프로세스 이름 주위에 []가 나타나는 이유는 무엇입니까?

[root@centos6 src]# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 18:48 ?        00:00:01 /sbin/init
root         2     0  0 18:48 ?        00:00:00 [kthreadd]
root         3     2  0 18:48 ?        00:00:00 [migration/0]
root         4     2  0 18:48 ?        00:00:00 [ksoftirqd/0]
root         5     2  0 18:48 ?        00:00:00 [migration/0]
root         6     2  0 18:48 ?        00:00:00 [watchdog/0]
root         7     2  0 18:48 ?        00:00:02 [events/0]

답변1

명령줄에 액세스할 수 없는 경우 ps/proc/<pid>/cmdline문자열이 반환되고 ps대괄호로 묶입니다.

이를 사용하여 다음 명령을 실행하고 프로세스 목록에서 확인하여 위의 내용을 테스트할 수 있습니다.

$ perl -e '$0 = ""; sleep'

그런 다음 다음을 만드십시오 ps.

saml     26756  2098  0 21:21 pts/9    00:00:00 []

물론 우리의 perl프로세스는 대괄호( []) 안에 표시됩니다.

cmdline이 비어 있습니다. 정말인가요?

예, 조금 이상해 보이지만 확인하기 위해 첫 번째 쌍을 확인했는데 확실히 비어 있었습니다.

$ for i in `seq 2125`;do [ -e /proc/$i/cmdline ] || continue; \
    echo -n "PID# $i: "; echo $(cat /proc/$i/cmdline);done | less

PID# 1: /sbin/init
PID# 2: 
PID# 3: 
PID# 4: 
PID# 5: 
PID# 15: 
...
PID# 1187: /sbin/rsyslogd-c4
PID# 1189: /sbin/rsyslogd-c4
PID# 1190: /sbin/rsyslogd-c4
PID# 1211: 
PID# 1229: irqbalance
PID# 1255: rpcbind
PID# 1269: mdadm--monitor--scan-f--pid-file=/var/run/mdadm/mdadm.pid
...

그들을 제거?

-f및 스위치를 사용하면 -c대괄호 없이 이러한 프로세스의 확장된 버전을 볼 수 있습니다.

$ ps --version
procps version 3.2.8

$ ps -auxfc | less
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         2  0.0  0.0      0     0 ?        S    Aug21   0:00 kthreadd
root         3  0.0  0.0      0     0 ?        S    Aug21   0:04  \_ ksoftirqd/0
root         4  0.0  0.0      0     0 ?        S    Aug21   0:03  \_ migration/0
root         5  0.0  0.0      0     0 ?        S    Aug21   0:00  \_ watchdog/0
root        15  0.0  0.0      0     0 ?        S    Aug21   0:04  \_ events/0
root        19  0.0  0.0      0     0 ?        S    Aug21   0:00  \_ cpuset
root        20  0.0  0.0      0     0 ?        S    Aug21   0:00  \_ khelper
root        21  0.0  0.0      0     0 ?        S    Aug21   0:00  \_ netns
root        22  0.0  0.0      0     0 ?        S    Aug21   0:00  \_ async/mgr
root        23  0.0  0.0      0     0 ?        S    Aug21   0:00  \_ pm
root        24  0.0  0.0      0     0 ?        S    Aug21   0:00  \_ sync_supers
root        25  0.0  0.0      0     0 ?        S    Aug21   0:00  \_ bdi-default
root        26  0.0  0.0      0     0 ?        S    Aug21   0:00  \_ kintegrityd/0
root        30  0.0  0.0      0     0 ?        S    Aug21   0:07  \_ kblockd/0
root        34  0.0  0.0      0     0 ?        S    Aug21   0:00  \_ kacpid
root        35  0.0  0.0      0     0 ?        S    Aug21   0:00  \_ kacpi_notify
root        36  0.0  0.0      0     0 ?        S    Aug21   0:00  \_ kacpi_hotplug
root        37  0.0  0.0      0     0 ?        S    Aug21   0:00  \_ ata_aux
root        38  0.0  0.0      0     0 ?        S    Aug21   0:00  \_ ata_sff/0
root        42  0.0  0.0      0     0 ?        S    Aug21   0:00  \_ khubd
root        43  0.0  0.0      0     0 ?        S    Aug21   0:00  \_ kseriod
root        44  0.0  0.0      0     0 ?        S    Aug21   0:35  \_ kswapd0
root        45  0.0  0.0      0     0 ?        SN   Aug21   0:00  \_ ksmd
root        46  0.0  0.0      0     0 ?        S    Aug21   0:00  \_ aio/0
root        50  0.0  0.0      0     0 ?        S    Aug21   0:00  \_ crypto/0
root        59  0.0  0.0      0     0 ?        S    Aug21   0:00  \_ scsi_eh_0
root        60  0.0  0.0      0     0 ?        S    Aug21   0:26  \_ scsi_eh_1
root        61  0.0  0.0      0     0 ?        S    Aug21   0:00  \_ scsi_eh_2
root        62  0.0  0.0      0     0 ?        S    Aug21   0:00  \_ scsi_eh_3
root        63  0.0  0.0      0     0 ?        S    Aug21   0:00  \_ scsi_eh_4
root        64  0.0  0.0      0     0 ?        S    Aug21   0:00  \_ scsi_eh_5
root        71  0.0  0.0      0     0 ?        S    Aug21   0:00  \_ kpsmoused
root        72  0.0  0.0      0     0 ?        S    Aug21   0:00  \_ kstriped

매뉴얼 페이지에서 ps:

   -c    Show different scheduler information for the -l option.

   -f    does full-format listing. This option can be combined with many 
         other UNIX-style options to add additional columns. It also 
         causes the command arguments to be printed. When used with -L, 
         the NLWP (number of threads) and LWP (thread ID) columns will be 
         added. See the c option, the format keyword args, and the format 
         keyword comm.

관련 정보