在 Linux 系统中,ps 命令是一个非常常用的命令,用于查看当前终端会话中属于当前用户的进程列表。这个命令的功能非常强大,通过不同的选项和参数,可以定制输出信息,以满足不同用户的需求。下面将详细介绍 ps 命令的用法和选项。
基本用法
ps 命令的基本用法是:ps [选项]
常用的选项有:
-e:显示所有进程,而不仅仅是当前终端会话的进程。这对于查看整个系统的进程列表非常有用。
-f:使用全格式显示进程信息。全格式显示了更多的列,包括父进程ID(PPID)、进程状态、CPU使用率(%CPU)、内存使用率(%MEM)等。
-l:显示长格式的进程信息。长格式显示了更多的信息,例如进程命令行、进程状态(S)、进程的会话ID(SID)等。
-u:显示与指定用户相关的进程信息。可以通过指定用户名来限制显示的进程列表。
-p:显示指定进程ID的进程信息。可以通过指定PID来查看特定进程的详细信息。
-o:自定义输出格式。使用该选项可以指定要显示的列和排序方式。例如,ps -eo pid,ppid,cmd,%mem,%cpu —sort=-%mem会显示进程ID、父进程ID、命令行、内存使用率和CPU使用率,并按内存使用率降序排序。
常用的 ps 命令示例
- ps -ef | grep <进程名>:查找指定进程名的进程。
- ps -ef | grep -v grep | grep <用户>:查找指定用户的进程。
- ps -ef —forest:以树形结构显示进程和它们的父进程。
- ps -eo pid,ppid,cmd,%mem,%cpu —sort=-%mem | head:按内存使用率排序显示前几个进程的信息。
- ps -aux:显示详细的进程信息,包括CPU和内存使用情况等。
- ps -u <用户名>:显示指定用户的进程信息。
- ps -p :显示指定进程ID的进程信息。
- ps -l :以长格式显示指定进程ID的进程信息。
- ps -T :显示属于指定终端的程序的状况。
- ps -e :显示属于指定终端的所有程序的状况。
- ps -p :显示指定父进程ID的子进程信息。
- ps -f :以全格式显示指定父进程ID的子进程信息。
- ps -u <用户名> -p :以用户为主的格式显示指定父进程ID的子进程信息。
- ps -t :显示属于指定终端机的程序的状况。
- ps -t -u <用户名>:以用户为主的格式显示属于指定终端机的程序的状况。
- ps -t -p :显示属于指定终端机的指定父进程ID的子进程信息。
- ps -t -u <用户名> -p :以用户为主的格式显示属于指定终端机的指定父进程ID的子进程信息。
- ps -A:显示所有程序,不以终端机来区分。
- ps -L:列出程序时,包括已中断的子程序资料。
- ps -N:显示所有的程序,除了执行ps指令终端机下的程序之外。
- ps -s:采用程序信号的格式显示程序状况。
- ps -x:显示所有程序,不以终端机来区分。
- ps —forest:用ASCII字符显示树状结构,表达程序间的相互关系。
- ps -H:显示树状结构,表示程序间的相互关系。
- ps sTty=:以用户为主的格式来显示程序状况,并限制输出到指定的终端控制台。
- ps ux —sort=-%mem,pid,cmd:按内存使用率降序排序,并限制输出到指定的PID和命令行信息。
- ps -eo pid,ppid,cmd,%mem,%cpu —sort=-%mem | head:按内存使用率排序显示前几个进程的信息,并