見出しは基本的にすべてを言っています。私はPIDのみを与えられているプログラムを持っていますが、実際には何もありません。そして、与えられたプロセスに関するより多くの情報をどのように得るか知りたいです。
ps -Flww -p THE_PID
いくつかの情報が表示されます。 ps
コマンドの詳細については、 ps manpage を参照してください。 "標準形式の仕様"セクション は、さまざまな列の意味を説明しています。
あなたの正確な要件は何なのかわかりません。しかし、これはあなたを助けるかもしれません。
/proc
のpid番号として名前を持つすべてのプロセスに個別のディレクトリがあります。
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
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
プロセスに関するすべての情報を含む多くのファイルがあります。
好む:
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
ps
回答に追加するために、ユーザーモードで費やした時間やCPUの占有などの追加の統計を表示するpidstat
コマンドもあります。以下で使用できます。
# pidstat -p 51648
-d
フラグを追加して、I/Oに関する詳細を追加することもできます。
# pidstat -p 51648 -d
また、2番目のパラメーターとして整数を使用して、X秒ごとにコマンドを更新することもできます。
# pidstat -p 51648 3