Gizli bir süreç nedir?


11
[root@datacenteronline ~]# ssh root@192.168.1.172
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

Cound kimse bana bunun ne olduğunu söyleyebilir mi?


olduğu lsşey için bir takma? yok /bin/ls -1 | grep 2266aynı şekilde davranır?
Frederik Deweerdt

Yanıtlar:


12

Bu muhtemelen bir iş parçacığı olacak. Linux'ta, iş parçacıklarının işlemdeki diğer iş parçacıklarından farklı bir işlem kimliği vardır. psİçindeki PID sütununa baktığınızda, aslında bir işlemdeki tüm iş parçacıkları arasında yaygın olan iş parçacığı grubu kimliğine (TGID) bakıyorsunuz. Bu, Linux'ta iş parçacıklarının evrimleşmesi nedeniyle tarihsel nedenlerden kaynaklanmaktadır.

Örneğin, sistemimde, kromun bir işlemde birkaç iş parçacığı vardır (birden çok işlem de):

$ 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 ...

İkinci sütun TGID'dir (PID olarak etiketlenmesine rağmen) ve dördüncü sütun LWP'dir (hafif işlem).

$ 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 sürecinin görünmediğini görebilirsiniz /proc, ancak bunu yapabilirsiniz cd. statusDosyaya bakarsanız , bunun "süreç" (iş parçacığı grubu) 10927'nin bir parçası olduğunu ve yukarıdaki çıktıdan bu işlemin göründüğünü göreceksiniz /proc.


1
BTW: ps … | grep …satırınız aslında başlığı yazdırmaz ... Keşke grep'in her zaman ilk satırı yazdırma seçeneği olsaydı! Sanırım bu konuda bir soru soracağım.
derobert


@derobert: Biliyorum. Yararlı olduğunu düşündüğüm için daha sonra ekledim. Birisi işaret etmeden önce ne kadar süreceğini merak ettim. Hızlı
davrandın

Gerçekten de oldukça faydalı. Bunun yerine yayınladığım sorudaki son sed komutunu kullanmanızı öneririm. Bu aslında başlık satırını yazdırıyor ... Ve güzel bir çözüm!
derobert

Yazım kurallarını kullanacağım ve konuyu karıştırmamak için gerçek olmayan çıktıları parantez içine alacağım.
camh

3

Bu bir apache iş parçacığı.

Bundan anlatabilirsiniz:

lrwxrwxrwx   1 root   root   0 Apr 17 09:45 exe -> /usr/local/apache2/bin/httpd

Proc dosya sistemi için Linux çekirdek belgeleri, iş parçacığı kimliğinin neden bir dizin olduğunu ancak gizlendiğini açıklamıyor ls.

Ancak, iş parçacıkları görülür /proc/<pid>/task/<threadid>.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.