您的位置:

Linux终端命令学习:详解ps命令的用法

一、什么是ps命令

ps是Process Status的缩写,作用是用于查看当前进程的状态。

在Linux和Unix操作系统中,所有的程序和进程都是以进程的方式运行的。

ps命令可以帮助用户查看哪些进程正在运行,以及它们的状态和资源消耗等信息。

ps -ef    # 显示所有进程的详细信息
ps -e     # 显示所有进程的简单信息
ps -a     # 显示所有终端的终端名和进程
ps -fA    # 显示所有用户的进程详细信息
ps -lf    # 长格式显示所有进程的信息
ps -aux   # 列出所有进程

二、ps命令常用参数解析

1. 显示特定用户的进程

使用ps命令可以查看Linux系统上运行的所有进程。如果只想查看特定用户的进程,可以使用-u选项。

ps -u [用户名]

例如,如果想要查看用户"tom"在运行的进程,可以使用以下命令:

ps -u tom

2. 显示所有进程的详细信息

使用ps命令可以查看Linux系统上运行的所有进程。如果想要查看所有进程的详细信息,可以使用-e选项。

ps -ef

以上命令可以列出所有进程的详细信息,包括进程ID(PID)、终端(tty)、状态(S)、CPU占用率(%CPU)、内存占用率(%MEM)、启动时间(STIME)、命令(COMMAND)等信息。

3. 显示所有终端的终端名和进程

使用ps命令可以查看Linux系统上运行的所有进程。如果想要查看所有终端的终端名和进程,可以使用-a选项。

ps -a

以上命令可以列出所有终端的终端名和进程。

4. 显示所有用户的进程详细信息

使用ps命令可以查看Linux系统上运行的所有进程。如果想要查看所有用户的进程详细信息,可以使用-fA选项。

ps -fA

以上命令可以列出所有用户的进程详细信息,包括用户名(UID)、进程ID(PID)、父进程ID(PPID)、CPU占用率(%CPU)、内存占用率(%MEM)、启动时间(STIME)、命令(COMMAND)等信息。

5. 长格式显示所有进程的信息

使用ps命令可以查看Linux系统上运行的所有进程。如果想要以长格式显示所有进程的信息,可以使用-lf选项。

ps -lf

以上命令可以以长格式显示所有进程的信息,包括用户(USER)、进程ID(PID)、父进程ID(PPID)、CPU占用率(%CPU)、内存占用率(%MEM)、启动时间(STIME)、命令参数(CMD)等信息。

6. 列出所有进程

使用ps命令可以查看Linux系统上运行的所有进程。如果想要列出所有进程,可以使用-aux选项。

ps -aux

以上命令可以列出所有进程的详细信息,包括PID、CPU占用率、内存占用率、进程状态等信息。

三、ps命令常用实例

1. 查找特定进程

如果想要查找特定进程,可以使用ps命令结合grep命令。

ps -ef | grep [进程名]

2. 实时查看进程的CPU和内存占用情况

如果想要实时查看进程的CPU和内存占用情况,可以使用top命令。

top -p [进程ID]

以上命令可以实时查看指定进程的CPU和内存占用情况。

3. 查看进程的线程数

如果想要查看进程的线程数,可以使用ps命令查看进程的状态,并使用grep命令查找Threads字段。

ps -ef | grep [进程名] | awk '{print $2}' | xargs -I {} cat /proc/{}/status | grep Threads

以上命令可以查看指定进程的线程数。

4. 查看某个进程的所有子进程

如果想要查看某个进程的所有子进程,可以使用pstree命令。

pstree [进程ID]

以上命令可以查看指定进程的所有子进程。

5. 查看系统核心线程的状态

如果想要查看系统核心线程的状态,可以使用ps命令查看所有进程状态,并使用grep命令过滤出系统核心线程。

ps -ef | grep '[kthreadd]' | awk '{print $1 "\t" $2 "\t" $3 "\t" $8 "\t" $9}'

以上命令可以查看系统核心线程的状态,包括用户ID、进程ID、父进程ID、状态、命令等信息。