[root@datacenteronline ~]# ssh [email protected]
Last login: Wed Apr 17 09:55:45 2013 from 192.168.1.187
[root@localhost ~]# ls /proc/ | grep 2266
[root@localhost ~]# cd /proc/2266
[root@localhost 2266]# ls
attr cpuset limits net root statm
autogroup cwd loginuid numa_maps sched status
auxv environ maps oom_adj schedstat syscall
cgroup exe mem oom_score sessionid task
clear_refs fd mountinfo oom_score_adj smaps wchan
cmdline fdinfo mounts pagemap stack
coredump_filter io mountstats personality stat
[root@localhost 2266]# ls -al /proc/2266
total 0
dr-xr-xr-x 7 apache apache 0 Apr 17 09:45 .
dr-xr-xr-x 266 root root 0 Apr 17 09:11 ..
dr-xr-xr-x 2 apache apache 0 Apr 17 09:45 attr
-rw-r--r-- 1 root root 0 Apr 17 09:45 autogroup
-r-------- 1 root root 0 Apr 17 09:45 auxv
-r--r--r-- 1 root root 0 Apr 17 09:45 cgroup
--w------- 1 root root 0 Apr 17 09:45 clear_refs
-r--r--r-- 1 root root 0 Apr 17 09:45 cmdline
-rw-r--r-- 1 root root 0 Apr 17 09:45 coredump_filter
-r--r--r-- 1 root root 0 Apr 17 09:45 cpuset
lrwxrwxrwx 1 root root 0 Apr 17 09:45 cwd -> /
-r-------- 1 root root 0 Apr 17 09:45 environ
lrwxrwxrwx 1 root root 0 Apr 17 09:45 exe -> /usr/local/apache2/bin/httpd
dr-x------ 2 root root 0 Apr 17 09:45 fd
dr-x------ 2 root root 0 Apr 17 09:45 fdinfo
-r-------- 1 root root 0 Apr 17 09:45 io
-rw------- 1 root root 0 Apr 17 09:45 limits
-rw-r--r-- 1 root root 0 Apr 17 09:45 loginuid
-r--r--r-- 1 root root 0 Apr 17 09:45 maps
-rw------- 1 root root 0 Apr 17 09:45 mem
-r--r--r-- 1 root root 0 Apr 17 09:45 mountinfo
-r--r--r-- 1 root root 0 Apr 17 09:45 mounts
-r-------- 1 root root 0 Apr 17 09:45 mountstats
dr-xr-xr-x 6 apache apache 0 Apr 17 09:45 net
-r--r--r-- 1 root root 0 Apr 17 09:45 numa_maps
-rw-r--r-- 1 root root 0 Apr 17 09:45 oom_adj
-r--r--r-- 1 root root 0 Apr 17 09:45 oom_score
-rw-r--r-- 1 root root 0 Apr 17 09:45 oom_score_adj
-r--r--r-- 1 root root 0 Apr 17 09:45 pagemap
-r--r--r-- 1 root root 0 Apr 17 09:45 personality
lrwxrwxrwx 1 root root 0 Apr 17 09:45 root -> /
-rw-r--r-- 1 root root 0 Apr 17 09:45 sched
-r--r--r-- 1 root root 0 Apr 17 09:45 schedstat
-r--r--r-- 1 root root 0 Apr 17 09:45 sessionid
-r--r--r-- 1 root root 0 Apr 17 09:45 smaps
-r--r--r-- 1 root root 0 Apr 17 09:45 stack
-r--r--r-- 1 root root 0 Apr 17 09:45 stat
-r--r--r-- 1 root root 0 Apr 17 09:45 statm
-r--r--r-- 1 root root 0 Apr 17 09:45 status
-r--r--r-- 1 root root 0 Apr 17 09:45 syscall
dr-xr-xr-x 29 apache apache 0 Apr 17 09:45 task
-r--r--r-- 1 root root 0 Apr 17 09:45 wchan
그게 뭔지 말해 줄 수 있는 사람 있나요?
답변1
이것은 스레드일 가능성이 높습니다. Linux에서 스레드는 프로세스의 다른 스레드와 다른 프로세스 ID를 갖습니다. 에서 PID 열을 보면 ps
실제로는 프로세스의 모든 스레드에 공통되는 TGID(스레드 그룹 ID)를 보는 것입니다. 이는 Linux에서 스레드가 발전한 방식에 대한 역사적인 이유 때문입니다.
예를 들어 내 시스템의 Chromium에는 프로세스(및 여러 프로세스)에 여러 스레드가 있습니다.
$ ps -efL | grep chromium
[UID PID PPID LWP C NLWP STIME TTY TIME CMD]
[...]
camh 10927 5182 10927 0 4 11:07 ? 00:00:00 /usr/lib/chromium/chromium ...
camh 10927 5182 10929 0 4 11:07 ? 00:00:00 /usr/lib/chromium/chromium ...
camh 10927 5182 10930 0 4 11:07 ? 00:00:00 /usr/lib/chromium/chromium ...
camh 10927 5182 10933 0 4 11:07 ? 00:00:00 /usr/lib/chromium/chromium ...
두 번째 열은 TGID(PID라고 표시되어 있음)이고 네 번째 열은 LWP(경량 프로세스)입니다.
$ ls /proc | grep 10927
10927
$ ls /proc | grep 10929
$ cd /proc/10929
$ head -n 5 status
Name: Chrome_ChildIOT
State: S (sleeping)
Tgid: 10927
Pid: 10929
PPid: 5182
에는 프로세스 10929가 표시되지 않지만 볼 수 /proc
는 있습니다 cd
. 파일 을 보면 status
"프로세스"(스레드 그룹) 10927의 일부임을 알 수 있으며 위 출력으로 판단하면 프로세스가 /proc
.
답변2
이것은 아파치 스레드입니다.
이것으로부터 다음을 볼 수 있습니다:
lrwxrwxrwx 1 root root 0 Apr 17 09:45 exe -> /usr/local/apache2/bin/httpd
proc 파일 시스템에 대한 Linux 커널 문서에는 스레드 ID가 디렉토리이지만 ls
.
그러나 스레드는 에서 볼 수 있습니다 /proc/<pid>/task/<threadid>
.