พาดหัวโดยทั่วไปบอกว่ามันทั้งหมด ฉันมีโปรแกรมที่ฉันได้รับ PID เท่านั้นไม่มีอะไรเพิ่มเติมอีกแล้วและฉันอยากรู้ว่าฉันจะรับข้อมูลเพิ่มเติมเกี่ยวกับกระบวนการที่กำหนดได้อย่างไร
พาดหัวโดยทั่วไปบอกว่ามันทั้งหมด ฉันมีโปรแกรมที่ฉันได้รับ PID เท่านั้นไม่มีอะไรเพิ่มเติมอีกแล้วและฉันอยากรู้ว่าฉันจะรับข้อมูลเพิ่มเติมเกี่ยวกับกระบวนการที่กำหนดได้อย่างไร
คำตอบ:
ps -Flww -p THE_PID
จะแสดงข้อมูลให้คุณ ดูps manpageสำหรับข้อมูลเพิ่มเติมเกี่ยวกับps
คำสั่ง ส่วน"มาตรฐานรูปแบบตัวระบุ"อธิบายความหมายของคอลัมน์ต่าง ๆ
ฉันไม่รู้ว่าคุณต้องการอะไรแน่นอน แต่สิ่งนี้อาจช่วยคุณได้
มีไดเรกทอรีที่แยกต่างหากสำหรับทุกขั้นตอนที่มีชื่อเป็นจำนวน 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
เพื่อเพิ่มps
คำตอบนอกจากนี้ยังมีpidstat
คำสั่งที่จะแสดงสถิติเพิ่มเติมเช่นเวลาที่ใช้ในโหมดผู้ใช้หรืออาชีพของ cpu คุณสามารถใช้กับ:
# pidstat -p 51648
คุณสามารถเพิ่มการ-d
ตั้งค่าสถานะเพื่อเพิ่มรายละเอียดเกี่ยวกับ I / O:
# pidstat -p 51648 -d
และคุณยังสามารถเป็นจำนวนเต็มเป็นพารามิเตอร์ตัวที่สองเพื่อให้คำสั่งรีเฟรชแต่ละ X วินาที:
# pidstat -p 51648 3
psutil
ห้องสมุด ทำ:psutil.Process(pid)
เพื่อรับวัตถุกระบวนการและจากนั้นใช้ส่วนต่อประสานเพื่อดึงข้อมูลเกี่ยวกับหน่วยความจำ / ซีพียู ฯลฯ เป็นต้น