주어진 PID에 대한 자세한 정보를 보는 방법은 무엇입니까?


23

제목은 기본적으로 모든 것을 말합니다. PID 만 제공하는 프로그램이 있지만 더 이상 아무것도 없으며 주어진 프로세스에 대한 자세한 정보를 얻는 방법을 알고 싶습니다.


파이썬에서 일하고 있다면 아마도 psutil라이브러리 를 사용하고 싶을 것입니다 . 해야 할 일 : psutil.Process(pid)프로세스 객체를 얻은 다음 인터페이스를 사용하여 메모리 / CPU 등에 관한 정보를 검색하십시오.
Bakuriu

답변:



12

정확한 요구 사항이 무엇인지 모르겠습니다. 그러나 이것은 당신을 도울 수 있습니다.

에 각 프로세스 이름이 pid 번호 인 별도의 디렉토리가 있습니다 /proc.

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

위의 출력에서 ​​PID는 1700입니다.

고토 /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

3

ps답변에 추가하기 위해 pidstat사용자 모드에서 보낸 시간 또는 CPU 점유와 같은 추가 통계를 표시 하는 명령 도 있습니다 . 다음과 함께 사용할 수 있습니다.

# pidstat -p 51648

-d플래그를 추가하여 I / O에 대한 세부 사항을 추가 할 수도 있습니다 .

# pidstat -p 51648 -d

또한 X 초마다 명령을 새로 고치도록 정수를 두 번째 매개 변수로 사용할 수도 있습니다.

# pidstat -p 51648 3
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.