Как узнать статус процесса по pid

Вся инфа о процессе лежит тут:

cat /proc/PID/status

Покажет что-то типа этого:

Name:	gedit
State:	S (sleeping)
Tgid:	787
Pid:	787
PPid:	1
TracerPid:	0
Uid:	500	500	500	500
Gid:	100	100	100	100
FDSize:	64
Groups:	33 100 113
VmPeak:	  306596 kB
VmSize:	  306592 kB
VmLck:	       0 kB
VmHWM:	   37748 kB
VmRSS:	   37744 kB
VmData:	   36448 kB
VmStk:	     116 kB
VmExe:	     652 kB
VmLib:	   22848 kB
VmPTE:	     560 kB
Threads:	1
SigQ:	0/15992
SigPnd:	0000000000000000
ShdPnd:	0000000000000000
SigBlk:	0000000000000000
SigIgn:	0000000001001000
SigCgt:	00000001800004f0
CapInh:	0000000000000000
CapPrm:	0000000000000000
CapEff:	0000000000000000
CapBnd:	ffffffffffffffff
voluntary_ctxt_switches:	217142
nonvoluntary_ctxt_switches:	222001

Например, надо выдернуть текущее состояние скрипта:

$status = cat /proc/PID/status | grep State | awk {'print $3'}

$status будет (sleeping)

5.00 avg. rating (90% score) - 1 vote

3 комментария

  • Прикльно конечно.

  • Будте добры, для тех кто в танке. =)
    | awk {‘print $3’} — поясните часть команды.

    Спасибо!

  • azotot, awk {‘print $3’} выводит только третье поле в строке (по умолчанию разделителем полей является пробельные символы).

css.php