Osx
在 ps 樹中查找程序 0
我從指令中閱讀了以下句子
程序 ID 0通常是調度程序程序,通常稱為交換器。磁碟上沒有程序對應於這個程序,它是核心的一部分,被稱為系統程序。程序 ID 1通常是 init 程序,並在引導過程結束時由核心呼叫。
檢查程序:
$ pstree -p $$ -+= 00001 root /sbin/launchd \-+= 00264 me /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal -psn_0_53261 \-+= 00365 root login -pfl me /bin/bash -c exec -la bash /usr/local/bin/bash \-+= 00366 me -bash |-+= 06305 me pstree -p 366 | \--- 06307 root ps -axwwo user,pid,ppid,pgid,command
可以找到程序 1 但程序 0 在哪裡?
BSD
ps
不顯示 PID 0:$ ps -o pid,ppid,comm -p 0,1,$$ PID PPID COMM 1 0 /sbin/launchd 14705 14704 -zsh
由於
pstree
用於ps
獲取程序資訊(如您在輸出中所見),顯然它不能顯示 PID 0。在 OSX 上使用
top
或 Activity Manager 來查看 PID 0:$ top -l1 -pid 0 Processes: 480 total, 2 running, 478 sleeping, 2777 threads 2018/11/15 12:20:36 Load Avg: 1.99, 2.21, 2.13 CPU usage: 6.59% user, 18.33% sys, 75.7% idle SharedLibs: 207M resident, 50M data, 40M linkedit. MemRegions: 135141 total, 7727M resident, 63M private, 2624M shared. PhysMem: 16G used (6717M wired), 61M unused. VM: 3304G vsize, 1297M framework vsize, 5481932(0) swapins, 6319905(0) swapouts. Networks: packets: 2367177/1916M in, 1966560/789M out. Disks: 2569936/63G read, 1879985/62G written. PID COMMAND %CPU TIME #TH #WQ #PORTS MEM PURG CMPRS PGRP PPID STATE BOOSTS %CPU_ME %CPU_OTHRS UID FAULTS COW MSGSENT MSGRECV SYSBSD SYSMACH CSW PAGEINS IDLEW POWER INSTRS CYCLES USER #MREGS RPRVT VPRVT VSIZE KPRVT KSHRD 0 kernel_task 0.0 47:24.02 211/8 0 0 71M+ 0B 0B 0 0 running 0[0] 0.00000 0.00000 0 400853+ 0 82636075+ 75828596+ 0 0 295335075+ 0 14150823 0.0 0 0 root N/A N/A N/A N/A N/A N/A