Le titre dit essentiellement tout. J'ai un programme qui ne me donne que le PID, rien de plus, et j'aimerais savoir comment obtenir plus d'informations sur le processus en question.
ps -Flww -p THE_PID
va vous montrer des informations. Pour plus d'informations sur la commande ps
, reportez-vous à la ps man page . Le section "SPECIFICATEURS DE FORMAT STANDARD" explique la signification des différentes colonnes.
Je ne sais pas quelle est votre exigence exacte. mais cela peut vous aider.
Il existe un répertoire séparé pour chaque processus portant le nom pid number dans /proc
.
ps -ef | grep docker
root 1700 1 0 Sep20 ? 00:03:04 /usr/bin/docker daemon --raw-logs
En sortie, le PID est 1700.
goto /proc/1700
cd /proc/1700
et y 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 ont 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 obtenir en utilisant la commande:
man ps
Pour ajouter à la réponse ps
il existe également la commande pidstat
qui affichera des statistiques supplémentaires telles que le temps passé en mode utilisateur ou l'occupation du cpu. Vous pouvez l'utiliser avec:
# pidstat -p 51648
Vous pouvez également ajouter l'indicateur -d
pour ajouter des détails sur les E/S:
# pidstat -p 51648 -d
Et vous pouvez également utiliser un entier comme second paramètre pour actualiser la commande toutes les X secondes:
# pidstat -p 51648 3