56 votes

Comment voir des informations détaillées sur un PID donné ?

Le titre dit tout. J'ai un programme dans lequel on ne me donne que le PID, rien de plus vraiment, et je voudrais savoir comment obtenir plus d'informations sur le processus donné.

75voto

Fabiano Soriani Points 543
ps -Flww -p THE_PID

vous montrera quelques informations. Voir le ps manpage pour plus d'informations sur le ps commande. Le site "Section "SPÉCIFICATEURS DE FORMATS STANDARD explique la signification des différentes colonnes.

18voto

pl_rock Points 10309

Je ne sais pas quelle est votre exigence exacte, mais ceci peut vous aider.

Il existe un répertoire séparé pour chaque processus dont le nom est le numéro pid dans le fichier /proc .

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

Dans la sortie ci-dessus, le PID est de 1700.

goto /proc/1700

cd /proc/1700

et faire ls

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

il y a beaucoup de fichiers qui contiennent toutes les informations sur le processus.

Comme :

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

Si vous avez besoin d'une commande de base pour obtenir des informations sur le processus, vous pouvez facilement l'obtenir en utilisant la commande :

man ps

5voto

statox Points 151

Pour ajouter à la ps réponse, il y a aussi la pidstat qui affichera des statistiques supplémentaires comme le temps passé en mode utilisateur ou l'occupation du processeur. Vous pouvez l'utiliser avec :

# pidstat -p 51648

Vous pouvez également ajouter le -d pour ajouter des détails sur les E/S :

# pidstat -p 51648 -d

Et vous pouvez également utiliser un nombre entier comme second paramètre pour que la commande se rafraîchisse toutes les X secondes :

# pidstat -p 51648 3

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X