在大多数类Unix操作系统中,ps程序(“process status”的简称)可以显示当前运行的进程。一个相关的Unix工具top则可以查看运行进程的实时信息。
在Windows PowerShell中,ps是Get-Process cmdlet的预定义命令别名,它和Unix中的ps本质上是相同的。
示例
输出示例:
ps
PID TTY TIME CMD
7431 pts/0 00:00:00 su
7434 pts/0 00:00:00 bash
18585 pts/0 00:00:00 ps
用户还可以利用ps命令和grep结合(参见pgrep和pkill命令)来查找一个进程的信息,例如它的进程ID:
$ # 查找firefox-bin的PID为2701
$ ps -A | grep firefox-bin
2701 ? 22:16:04 firefox-bin
或直接使用pgrep:
$ pgrep -l firefox-bin
2701 firefox-bin
查看以root用户运行的进程:
ps -U root -u
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
root 1 0.0 0.0 9436 128 - ILs Sun00AM 0:00.12 /sbin/init --
分解
- = 通常被简写
选项
ps有很多选项。在支持SUS和POSIX标准的操作系统上,ps常以选项-ef运行,其中“-e”选择每一个(every)进程,“-f”指定“完整”(full)输出格式。这些系统上的另一个常见选项是-l,它指定“长”(long)输出格式。
由于历史原因,大多数源自BSD的系统无法接受SUS和POSIX的标准选项(例如,“e”或“-e”选项将显示环境变量)。在这样的系统中,ps常使用辅助非标准选项aux,其中“a”列出了一个终端上的所有进程,包括其他用户运行的,“x”列出所有没有控制终端的进程,“u”添加了一列显示每个进程的控制用户。需要注意的是,为了最大的兼容性,使用此语法时“aux”前没有“-”。此外,在aux之后添加“ww”可以显示进程的完整信息,包括所有的参数,例如“ps auxww”。
参见
- 任务管理器
- kill
- Unix实用程序列表
- nmon — AIX和Linux操作系统的系统监视工具。
- pgrep
- pstree
- top
- lsof
外部链接
*
- [http://www.cyberciti.biz/faq/show-all-running-processes-in-linux/ Show all running processes in Linux using ps command]
*
- [http://kb.iu.edu/data/afnv.html In Unix, what do the output fields of the ps command mean?]
评论 (0)