ps 命令:显示进程在某个时间点运行情况的状态
查看命令帮助
$ ps -help ps: option requires an argument -- p usage: ps [-AaCcEefhjlMmrSTvwXx] [-O fmt | -o fmt] [-G gid[,gid...]] [-g grp[,grp...]] [-u [uid,uid...]] [-p pid[,pid...]] [-t tty[,tty...]] [-U user[,user...]] ps [-L]
参数含义
- -A 列出所有的行程
- -w 显示加宽可以显示较多的资讯
- -au 显示较详细的资讯
- -aux 显示所有包含其他使用者的行程
au(x) 输出格式 :
- USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
- USER: 行程拥有者
- PID: pid
- %CPU: 占用的 CPU 使用率
- %MEM: 占用的记忆体使用率
- VSZ: 占用的虚拟记忆体大小
- RSS: 占用的记忆体大小
- TTY: 终端的次要装置号码 (minor device number of tty)
- STAT: 该行程的状态:
- D: 无法中断的休眠状态 (通常 IO 的进程)
- R: 正在执行中
- S: 静止状态
- T: 暂停执行
- Z: 不存在但暂时无法消除
- W: 没有足够的记忆体分页可分配
- <: 高优先序的行程
- N: 低优先序的行程
- L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
- START: 行程开始时间
- TIME: 执行的时间
- COMMAND:所执行的指令
1. ps aux :查看系统所有的进程数据
$ ps aux USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND jihan 977 7.9 2.3 6014800 390752 ?? S 12:33下午 1:01.80 /Applications/QQ.app/Contents/MacOS/QQ jihan 335 4.4 1.2 5296972 205232 ?? S 10:53上午 0:42.91 /Applications/iTerm.app/Contents/MacOS/iTerm2 -psn_0_127007 _windowserver 166 1.8 1.4 6799700 227836 ?? Ss 10:52上午 6:28.06 /System/Library/PrivateFrameworks/SkyLight.framework/Resources/Window
2. ps -l 只查自己bash程序进程状态
$ ps -l UID PID PPID F CPU PRI NI SZ RSS WCHAN S ADDR TTY TIME CMD 501 399 335 4006 0 31 0 4391984 20000 - Ss 0 ttys000 0:00.06 /Applications/iTerm.app/Contents/MacOS/iTerm2 501 403 401 4006 0 31 0 4320100 1604 - S 0 ttys000 0:00.10 -bash 501 400 335 4006 0 31 0 4375600 19964 - Ss 0 ttys001 0:00.06 /Applications/iTerm.app/Contents/MacOS/iTerm2 501 404 402 4006 0 31 0 4320100 1580 - S+ 0 ttys001 0:00.06 -bash
3. ps -lA 列出所有进程
$ ps -lA UID PID PPID F CPU PRI NI SZ RSS WCHAN S ADDR TTY TIME CMD 0 1 0 4004 0 37 0 4415352 18336 - Ss 0 ?? 0:18.44 /sbin/launchd 0 40 1 4004 0 4 0 4396476 1608 - Ss 0 ?? 0:00.56 /usr/sbin/syslogd 0 41 1 4004 0 31 0 4423892 19896 - Ss 0 ?? 0:01.04 /usr/libexec/UserEventAgent (System) 0 44 1 4004 0 20 0 4362324 5412 - Ss 0 ?? 0:00.29 /System/Library/PrivateFrameworks/Uninstall.fr 0 45 1 4004 0 37 0 4498312 76420 - Ss 0 ?? 0:05.88 /usr/libexec/kextd