Как просмотреть подробную информацию о данном PID?

7

Заголовок в основном говорит все. У меня есть программа, в которой мне предоставляется только PID, не более того, и я хотел бы знать, как получить дополнительную информацию о данном процессе.     

задан Philip 30.09.2016 в 10:44
источник

3 ответа

10
ps -Flww -p THE_PID

покажет вам некоторую информацию. Подробнее о команде ps см. В странице ps . раздел «СТАНДАРТНЫЕ ФОРМАТЫ» объясняет, что означают разные столбцы.     

ответ дан Florian Diesch 30.09.2016 в 10:57
источник
9

Я не знаю, каково ваше точное требование. но это может вам помочь.

Существует отдельный каталог для каждого процесса с именем в виде числа pid в /proc .

ps -ef | grep docker 
root      1700     1  0 Sep20 ?        00:03:04 /usr/bin/docker daemon --raw-logs

В вышеприведенном выходном PID равен 1700.

goto /proc/1700

cd /proc/1700

и do ls there

ls
attr       clear_refs       cpuset   fd       limits     mem         net        oom_score      projid_map  sessionid  stat     task
autogroup  cmdline          cwd      fdinfo   loginuid   mountinfo   ns         oom_score_adj  root        setgroups  statm    timers
auxv       comm             environ  gid_map  map_files  mounts      numa_maps  pagemap        sched       smaps      status   uid_map
cgroup     coredump_filter  exe      io       maps       mountstats  oom_adj    personality    schedstat   stack      syscall  wchan

есть много файлов, которые имеют всю информацию о процессе.

Как

cat /proc/1700/status

Name:   docker
State:  S (sleeping)
Tgid:   1700
Ngid:   0
Pid:    1700
PPid:   1
TracerPid:  0
Uid:    0   0   0   0
Gid:    0   0   0   0
FDSize: 64
Groups: 0 999 
VmPeak:   527576 kB
VmSize:   527512 kB
VmLck:         0 kB
VmPin:         0 kB
VmHWM:     46032 kB
VmRSS:     34180 kB
VmData:   449308 kB
VmStk:       136 kB
VmExe:     28324 kB
VmLib:      4236 kB
VmPTE:       296 kB
VmSwap:     5324 kB
Threads:    12
SigQ:   0/63662
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000000000
SigCgt: ffffffffffc1feff
CapInh: 0000000000000000
CapPrm: 0000003fffffffff
CapEff: 0000003fffffffff
CapBnd: 0000003fffffffff
Seccomp:    0
Cpus_allowed:   f
Cpus_allowed_list:  0-3
Mems_allowed:   00000000,00000001
Mems_allowed_list:  0
voluntary_ctxt_switches:    437726
nonvoluntary_ctxt_switches: 27579

Если вам нужна базовая команда для получения информации о процессе, вы можете легко получить команду:

man ps
    
ответ дан pl_rock 30.09.2016 в 11:23
источник
1

Чтобы добавить к ps ответ, есть также команда pidstat , которая будет показывать дополнительную статистику, такую ​​как время, проведенное в пользовательском режиме или занятие процессора. Вы можете использовать его с помощью:

# pidstat -p 51648

Вы также можете добавить флаг -d , чтобы добавить сведения об I / O:

# pidstat -p 51648 -d

И вы также можете ввести целое число в качестве второго параметра, чтобы обновить команду каждые X секунд:

# pidstat -p 51648 3
    
ответ дан statox 30.09.2016 в 13:59
источник

Ознакомьтесь с другими вопросами по меткам