掌握Linux必备技能:了解PS命令的用法 (linux有ps)

随着Linux操作系统在企业级应用领域的不断普及,Linux管理员的需求也越来越大。为成为一名合格的Linux管理员,掌握一些基础命令是必不可少的。其中,PS命令就是一个非常重要的基础命令。下面,我们将着重介绍一下PS命令的用法。

PS命令的概述

在Linux系统中,所有启动的程序都是一个进程。PS命令是一个用于查看进程的命令,可以使用它来列出当前运行在系统中的进程,使用该命令的参数可以筛选出需要的进程列表。通过这个命令的使用,管理员可以轻松地检查和管理和它相关的进程。

PS命令的基本语法

在Linux系统中,PS命令有很多选项和参数可以使用。当运行PS命令时,我们需要知道一些基本语法:

“`

ps [options]

“`

通过这个命令的使用,你可以通过各种选项和参数来查找你需要的进程。下面,我们将详细介绍PS命令的各种选项和参数。

PS命令的选项和参数

1. 基本选项

– a: 显示所有进程,包括其他用户的进程。

– x: 显示所有进程,包括没有终端的进程。

2. 显示进程的状态

– r: 只显示运行进程。

– t: 显示指定的终端或tty的进程。

– u: 显示使用指定用户的进程。

3. 通过PID显示特定进程

– p: 显示指定的pid进程。

4. 显示全部进程和信息

– e: 显示所有进程。

– f: 显示完整的进程树。

5. 其他参数

– c: 仅显示程序名称而非命令行。

– O: 根据进程信息排序。

– H: 显示线程信息。

下面,我们将使用一些示例来帮助进一步解释这些选项和参数。

PS命令实例

1. 显示所有进程

“`ps aux“`

如上所示,使用“`ps aux“`可以列出系统中当前运行的所有进程。此外,所有用户的进程均可以显示。我们也可以使用“`ps-e“`查看所有进程。

2. 显示指定的进程信息

“`ps -f -p [PID]“`

使用“`-f“`选项,我们可以显示指定进程的完整信息。例如,我们可以通过“`ps -f -p 1234“`查看进程ID为1234的进程的完整信息。

3. 显示指定用户的进程

“`ps -u [USERNAME]“`

使用“`-u“`选项,我们可以查看特定用户的进程。例如,如果我们使用“`ps -u admin“`,就可以查看当前用户名为admin的所有进程。

4. 以树的形式查看进程

“`ps -H“`

使用“`-H“`选项,我们可以查看系统中的进程树。这是一种更详细的方式,可以帮助我们更好地了解进程之间的关联。

Linux操作系统的核心是由各个进程组成的。掌握PS命令可以帮助管理员更好地了解系统中的各个进程。熟练使用这个命令可以让你更轻松地管理你的Linux服务器。希望这篇文章对您有所帮助,如果您有任何疑问,请尝试在社区中提问,获得更好的帮助。

相关问题拓展阅读:

Linux ps命令详解

ps

ps(即进程状态)命令用于提供有关当前正在运行的进程的信息,包括其进程标识号(PID)。

进程,也称为任务,是程序的执行(即,运行)实例。系统为每个进程分配一个唯一的PID。

ps的基本语法是

ps

当没有任何选项使用ps时,它会发送到标准输出,默认情况下是显示监视器,系统上当前至少有两个进程的四项信息:shell和ps。shell是一个程序,它在类Unix操作系统中提供传统的纯文本用户界面,用于发出命令并与系统交互,默认情况下在Linux上是bash。ps本身是一个进程,一旦显示输出它就会死掉(即终止)。

使用ps获取有关系统当前进程的更完整信息的常用方便方法是使用以下方法:

ps -aux | less

ps显示的进程可以限制为属于任何给定用户的进程,方法是通过grep(一种用于搜索文本的过滤器)输出输出。例如,属于具有用户名adam的用户的进程可以使用以下内容显示:

ps -ef | grep adam

Linux 下 取进程占用 cpu 更高的前10个进程

ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head

linux 下 取进程占用内存(MEM)更高的前10个进程

ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head

其中rsz是是实际内存

$ ps -e -o ‘pid,comm,args,pcpu,rsz,vsz,stime,user,uid’

$ ps -e -o ‘pid,comm,args,pcpu,rsz,vsz,stime,user,uid’ | grep oracle | sort -nrk5

其中rsz为实际内存,上例实现按内存排序,由大到小

5个命令检查Linux中内存使用情况,含PS

【 ps 】

»语法

ps

»功能

ps 命令:用来显示当前进程的状态

»类似命令top kill pgrep

»执行权限 超级用户 普通用户

»命令属性 系统管理

»参数

必要参数

a 显示所有进程

-a 显示同一终端下的所有程序

-A 显示所有进程

c 显示进程的真实名称

-N 反向选择

-e 等于“-A”

e 显示环境变量

f 显示程序间的关系

-H 显示树状结构

r 显示当前终端的进程

T 显示当前终端的所有程序

u 指定用户的所有进程

选择参数

-C 列出指定命令的状况

–lines 每页显示的行数

–width 每页显示的字符数

–help 显示帮助信息

–version 显示版本显示

范例1: 显示所有进程信息

root@localhost :~# ps -A 显示进程信息

PID TTY TIME CMD

1 ? 00:00:02 init

2 ? 00:00:00 kthreadd

3 ? 00:00:00 migration/0

4 ? 00:00:00 ksoftirqd/0

5 ? 00:00:00 watchdog/0

6 ? 00:00:00 events/0

7 ? 00:00:00 cpuset

……

范例2: 显示指定用户信息

root@localhost :~# ps -u root //显示root进程用户信息

PID TTY TIME CMD

1 ? 00:00:02 init

2 ? 00:00:00 kthreadd

3 ? 00:00:00 migration/0

4 ? 00:00:00 ksoftirqd/0

5 ? 00:00:00 watchdog/0

6 ? 00:00:00 events/0

7 ? 00:00:00 cpuset

8 ? 00:00:00 khelper

9 ? 00:00:00 netns

10 ? 00:00:00 async/mgr

11 ? 00:00:00 pm

12 ? 00:00:00 sync_supers

13 ? 00:00:00 bdi-default

14 ? 00:00:00 kintegrityd/0

15 ? 00:00:02 kblockd/0

16 ? 00:00:00 kacpid

……省略部分结果

30487 ? 00:00:06 gnome-terminal

30488 ? 00:00:00 gnome-pty-helpe

30489 pts/0 00:00:00 bash

30670 ? 00:00:00 debconf-communi

30749 pts/0 00:00:15 gedit

30886 ? 00:01:10 qtcreator.bin

30894 ? 00:00:00 qtcreator.bin

31160 ? 00:00:00 dhclient

31211 ? 00:00:00 aptd

31302 ? 00:00:00 sshd

31374 pts/2 00:00:00 bash

31397 pts/2 00:00:00 ps

范例3: 显示指定终端信息

root@localhost :~# ps -u root //显示终端1进程信息

PID TTY TIME CMD

1 ? 00:00:02 init

2 ? 00:00:00 kthreadd

3 ? 00:00:00 migration/0

4 ? 00:00:00 ksoftirqd/0

5 ? 00:00:00 watchdog/0

6 ? 00:00:00 events/0

7 ? 00:00:00 cpuset

8 ? 00:00:00 khelper

9 ? 00:00:00 netns

10 ? 00:00:00 async/mgr

11 ? 00:00:00 pm

12 ? 00:00:00 sync_supers

13 ? 00:00:00 bdi-default

14 ? 00:00:00 kintegrityd/0

15 ? 00:00:02 kblockd/0

16 ? 00:00:00 kacpid

……省略部分结果

30487 ? 00:00:06 gnome-terminal

30488 ? 00:00:00 gnome-pty-helpe

30489 pts/0 00:00:00 bash

30670 ? 00:00:00 debconf-communi

30749 pts/0 00:00:15 gedit

30886 ? 00:01:10 qtcreator.bin

30894 ? 00:00:00 qtcreator.bin

31160 ? 00:00:00 dhclient

31211 ? 00:00:00 aptd

31302 ? 00:00:00 sshd

31374 pts/2 00:00:00 bash

31397 pts/2 00:00:00 ps

范例4: 显示所有进程信息,连同命令行

root@localhost :~# ps -ef //显示所有命令,连带命令行

UID PID PPID C STIME TTY TIME CMD

root0:22 ? 00:00:02 /in/init

root0:22 ? 00:00:00

root0:22 ? 00:00:00

root0:22 ? 00:00:00

root0:22 ? 00:00:00

root0:22 ? /usr/lib/NetworkManager

……省略部分结果

root0 17:42 ? 00:00:00 sshd: root@pts/2

root 0 17:42 pts/2 00:00:00 -bash

root 17:46 ? 00:00:00 /usr/bin/python /usr/in/aptd

root 0 17:48 pts/2 00:00:00 ps -ef

范例5: ps 与grep 常用组合用法,查找特定进程

root@localhost :~# ps -ef |grep sshd //查找字串为sshd的进程

root10:31 ? 00:00:00 /usr/in/sshd

root0 17:42 ? 00:00:00 sshd: root@pts/2

root 0 17:50 pts/2 00:00:00 grep –color=auto sshd

root@localhost :~#

范例6: 显示命令的完整命令行

root@localhost :~# ps -efww

UID PID PPID C STIME TTY TIME CMD

root0:22 ? 00:00:02 /in/init

root0:22 ? 00:00:00

root0:22 ? 00:00:00

root0:22 ? 00:00:00

root0:22 ? 00:00:00

root0:22 ? 00:00:00

……省略部分结果

root0:23 ? 00:00:00

root0:23 ? 00:00:00

root0:23 ? 00:00:00

root0:23 ? 00:00:00

root0:23 ? 00:00:00

root0:23 ? 00:00:00

root10:23 ? 00:00:00

root10:23 ? 00:00:00

root10:23 ? 00:00:00

root10:23 ? 00:00:12

root10:23 ? 00:00:00

root10:23 ? 00:00:00 upstart-udev-bridge –daemon

范例7: 显示进程间的关系

root@localhost :~# ps -efh

Warning: bad ps syntax, perhaps a bogus ‘-‘? See

31374 pts/2 Ss 0:00 -bash USER=root LOGNAME=root HOME=/root PATH=/usr/local/in:/usr/

31418 pts/2 R+ 0:00 \_ ps -efh TERM=xterm SHELL=/bin/bash XDG_SESSION_COOKIE=93b5d3d0

30489 pts/0 Ss+ 0:00 bash XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg SPEECHD_PORT=6560

30749 pts/0 S 0:15 \_ gedit ui_mainlocalhost.h ORBIT_SOCKETDIR=/tmp/orbit-root SSH_AGENT

1025 tty7 Ss+ 10:12 /usr/bin/X :0 -nr -verbose -auth /var/run/gdm/auth-for-gdm-Ge8TFD/

1021 tty1 Ss+ 0:00 /in/gettytty1 PATH=/usr/local/in:/usr/local/bin:/usr

867 tty6 Ss+ 0:00 /in/gettytty6 PATH=/usr/local/in:/usr/local/bin:/usr

864 tty3 Ss+ 0:00 /in/gettytty3 PATH=/usr/local/in:/usr/local/bin:/usr

862 tty2 Ss+ 0:00 /in/gettytty2 PATH=/usr/local/in:/usr/local/bin:/usr

855 tty5 Ss+ 0:00 /in/gettytty5 PATH=/usr/local/in:/usr/local/bin:/usr

852 tty4 Ss+ 0:00 /in/gettytty4 PATH=/usr/local/in:/usr/local/bin:/usr

ps -elf |grep cp(与进程有关的字符串)

whereis cp

cp: /bin/cp /usr/share/man/man1p/cp.1p.gz /usr/share/man/man1/cp.1.gz

可以找到进程名的所有路径。

ps -e 是所有进程

ps aux命令可以看到更详细的命令行

关于linux有ps的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 掌握Linux必备技能:了解PS命令的用法 (linux有ps)