位置: 编程技术 - 正文
推荐整理分享Linux下ps命令的10个基本例子(linux的ps命令用法),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:linux的ps命令用法,linux ps命令大全及快捷键,linux ps常用命令,linux中ps命令详解,linux的ps命令用法,linux的ps命令用法,linux中ps,linux ps常用命令,内容如对您有帮助,希望把文章链接给更多的朋友!
在Linux下ps命令是用于查看系统上运行的进程的最基本的命令之一。它提供了当前进程的同时,如用户ID,CPU使用率,内存使用率,命令名称等,它不显示实时数据,如top或htop命令的详细信息。但是,即使是功能和输出简单,但它仍然是一个必用的过程管理/监控工具,每一个Linux新手应该知道这一点,好好学习。在这篇文章中,我们将使用ps命令以不同的方式来查看进程、筛选和排序它们,以加强基础部分。
语法注意:
ps命令带有2种不一样的风格,分别是BSD和UNIX。新用户经常会混淆和错误地解释这两种风格。所以要弄清楚他们,继续操作之前这里是一些基本的信息。
注意:"ps aux"和"ps -aux"不相同。例如"-u"用来显示该用户的进程。但是"u"则是显示详细的信息。
BSD风格:在BSD风格的语法选项前不带连字符。
ps aux
UNIX/LINUX的风格:在linux风格的语法选项前面有一个破折号如常。…
ps -ef 混合使用两种Linux系统上的语法风格是好事儿。例如“ps ax -f”。但在这篇文章中,我们将主要集中在UNIX风格的语法。
如何使用ps命令呢?
1、显示所有进程:
下面的命令将列出所有的进程:
复制代码代码如下:$ ps ax $ ps -ef
加上管道输出给less,来滚动显示
"u"或者"-f"参数来显示所有进程的详细信息
复制代码代码如下:___FCKpd___0nbsp;ps aux ___FCKpd___0nbsp;ps -ef -f
注意:为什么用户列不显示我的用户名,但显示其他用户,如root、www等,对于所有的用户名(包括你)如果长度大于8个字符,然后ps将只显示UID,而不是用户名。
2、根据用户显示进程:
由进程的所属用户使用“-u”选项后跟用户名来显示。多个用户名可以提供以逗号分隔。
复制代码代码如下:___FCKpd___1nbsp;ps -f -u www-data UID PID PPID C STIME TTY TIME CMD www-data 0 : ? :: nginx: worker process www-data 0 : ? :: nginx: worker process www-data 0 : ? :: nginx: worker process www-data 0 : ? :: php-fpm: pool a.localhost www-data 0 : ? :: php-fpm: pool a.localhost www-data 0 : ? :: /usr/sbin/apache2 -k start www-data 0 : ? :: /usr/sbin/apache2 -k start www-data 0 : ? :: /usr/sbin/apache2 -k start
3、通过名字和进程ID显示进程:
通过名字或命令搜索进程,使用“-C”选项后面加搜索词。
复制代码代码如下:___FCKpd___2nbsp;ps -C apache2 PID TTY TIME CMD ? :: apache2 ? :: apache2 ? :: apache2 ...
4、根据CPU或者内存进行排序:
系管理员经常希望找出那些消耗大量内存或CPU的进程。排序选项将基于特定的字段或参数让进程列表进行排序。
“–sort”选项由逗号分隔的多个字段可以用指定。此外,该字段可以带有前缀“-”或“”符号,表示降序或升序分别排序。通过进程列表进行排序有很多参数,你可以检查手册页的完整列表。
___FCKpd___3nbsp;ps aux --sort=-pcpu,+pmem 显示前5个消耗了大部分的CPU进程。
复制代码代码如下:___FCKpd___4nbsp;ps aux --sort=-pcpu | head -5 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 2.6 0.7 ? Ss : 0: /usr/lib/systemd/systemd --switched-root --system --deserialize root 2.6 3.0 tty1 Rsl+ : 0: /usr/bin/X -background none :0 vt -nolisten tcp root 2.4 1.6 ? Ss : 0: /usr/bin/python /usr/sbin/firewalld --nofork silver 2.1 2.3 ? S : 0: /usr/bin/python /usr/share/system-config-printer/applet.py
5、用树的风格显示进程的层次关系:
许多进程实际上是一些父进程分的分支,知道这父子进程关系往往是有用的。在'–forest'选项将建立ASCII艺术风格层次的树视图。
下面的命令将搜索进程名字为Apache2,形成一个树结构来显示详细的信息。
复制代码代码如下:___FCKpd___5nbsp;ps -f --forest -C apache2 UID PID PPID C STIME TTY TIME CMD root 1 0 : ? :: /usr/sbin/apache2 -k start www-data 0 : ? :: _ /usr/sbin/apache2 -k start www-data 0 : ? :: _ /usr/sbin/apache2 -k start www-data 0 : ? :: _ /usr/sbin/apache2 -k start www-data 0 : ? :: _ /usr/sbin/apache2 -k start www-data 0 : ? :: _ /usr/sbin/apache2 -k start
尽量不要使用任何的排序和树风格一起展示,因为他们使用了不同的顺序。
6、显示一个父进程的子进程:
这里有一个例子显示所有apache进程的分支
复制代码代码如下:___FCKpd___6nbsp;ps -o pid,uname,comm -C apache2 PID USER COMMAND root apache2 www-data apache2 www-data apache2 www-data apache2 www-data apache2 www-data apache2 [term] The first process that is owned by root is the main apache2 process and all other apache2 processes have been forked out of this main process. The next command lists all child apache2 processes using the pid of the main apache2 process [term] ___FCKpd___6nbsp;ps --ppid PID TTY TIME CMD ? :: apache2 ? :: apache2 ? :: apache2 ? :: apache2 ? :: apache2
7、显示一个进程的线程:
“-L”选项将显示进程的线程。它可以用来显示特定进程的所有线程或者所有进程。
下面的命令将显示所有id为的进程所拥有的线程。复制代码代码如下:___FCKpd___7nbsp;ps -p -L
8、改变要显示的列:
ps命令可以配置为只显示选中的列表。为了显示完整列表可以查看手册。
下面的命令只显示PID,用户名,CPU,内存和命令的列。
复制代码代码如下:___FCKpd___8nbsp;ps -e -o pid,uname,pcpu,pmem,comm
可以重命名列标签,相当的灵活。
复制代码代码如下:___FCKpd___9nbsp;ps -e -o pid,uname=USERNAME,pcpu=CPU_USAGE,pmem,comm PID USERNAME CPU_USAGE %MEM COMMAND 1 root 0.0 0.0 init 2 root 0.0 0.0 kthreadd 3 root 0.0 0.0 ksoftirqd/0 4 root 0.0 0.0 kworker/0:0 5 root 0.0 0.0 kworker/0:0H 7 root 0.0 0.0 migration/0 8 root 0.0 0.0 rcu_bh 9 root 0.0 0.0 rcuob/0 root 0.0 0.0 rcuob/1
9、显示进程运行的时间:
表示进程的运行时间。对于运行的时间,列默认情况下是不显示的,可以使用“-O”选项查看。复制代码代码如下:___FCKpd___nbsp;ps -e -o pid,comm,etime
、把ps命令变成一个实时查看器:
像往常一样,watch命令可以用来实时捕捉ps显示进程。简单的例子如下:
复制代码代码如下:___FCKpd___nbsp;watch -n 1 'ps -e -o pid,uname,cmd,pmem,pcpu --sort=-pmem,-pcpu | head -'
输出在桌面上像这样:
复制代码代码如下:Every 1.0s: ps -e -o pid,uname,cmd,pmem,pcpu --... Sun Dec 1 :: PID USER CMD %MEM %CPU /opt/google/chrome/chrome - 4.6 1.4 /opt/google/chrome/chrome - 2.7 1.4 /opt/google/chrome/chrome 2.7 2.5 /opt/google/chrome/chrome - 2.6 0.6 /opt/google/chrome/chrome - 2.4 1.6 /usr/bin/plasma-desktop 2.3 0.2 /opt/google/chrome/chrome - 2.1 0.8 /opt/google/chrome/chrome - 2.1 0.8 /opt/google/chrome/chrome - 1.8 1.0 /opt/google/chrome/chrome - 1.7 1.0 /opt/google/chrome/chrome - 1.6 0.6 /opt/google/chrome/chrome - 1.5 0.4 /opt/google/chrome/chrome - 1.5 0.4 /opt/google/chrome/chrome - 1.4 0.4
输出将被刷新,每1秒刷新统计数据。不过不要以为这是类似上面。
你会注意到在相比情况下top/htop命令的输出变化会更加频繁。
这是因为上面输出各种各样的值,CPU使用率和内存使用情况的组合。但上述ps命令排序显示的更简单,采取的是一个时间1列(如学校数学).所以它不会像top那样快速更新。原文链接:
Linux下的用户管理总结(含禁止用户和IP登录的方法) 在Linux中,用户的管理分为组和用户两种。这个Windows下也是这个样子,组是一类用户的统称。组和用户的关系是:多对多的关系。即用户可以存在于多
linux运维实用的个常用命令总结 1.删除0字节文件复制代码代码如下:find-typef-size0-execrm-rf{};2.查看进程按内存从大到小排列复制代码代码如下:ps-e-o"%C:%p:%z:%a"|sort-k5-nr3.按cpu利用率从大到
Linux用户以及权限相关常用命令总结 一、查看身份id:Displayuseridentity.这个命令的输出会显示uid,gid和用户所属的组。uid即userID,这是账户创建时被赋予的。gid是primarygroupID,是主要的组的id
标签: linux的ps命令用法
本文链接地址:https://www.jiuchutong.com/biancheng/356900.html 转载请保留说明!友情链接: 武汉网站建设