Вся инфа о процессе лежит тут:
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)
3 комментария
Прикльно конечно.
Будте добры, для тех кто в танке. =)
| awk {‘print $3’} — поясните часть команды.
Спасибо!
azotot, awk {‘print $3’} выводит только третье поле в строке (по умолчанию разделителем полей является пробельные символы).