linux每日命令:ps命令
Posted 朱兆筠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux每日命令:ps命令相关的知识,希望对你有一定的参考价值。
ps命令真是我比较常用的命令了,只是也没咋仔细研究过,最大的用处就是写代码的时候,起了多进程,就会占用多个进程,如果程序异常了,进程确没有kill掉,那么再启动程序就会报错
正常起项目
如果进程被占用了,就会发生:
这时候我就会用到ps 去查哪些进程被占用了,然后给它kill 掉
kill 掉无用的进程
这就是我平时的用处了,可是ps 仔细研究一下,用处还是很多的
Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令
要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到的。
一.命令格式:
ps [参数]
二.命令功能:
用于显示当前进程 (process) 的状态。
三.命令参数:
参数 | 描述 |
---|---|
-A | 列出所有的行程 |
-e | 等于“-A” |
-a | 显示现行终端机下的所有进程,包括其他用户的进程; |
-u | 以用户为主的进程状态 ; |
x | 通常与 a 这个参数一起使用,可列出较完整信息。 |
-w | 显示加宽可以显示较多的资讯 |
-au | 显示较详细的资讯 |
-aux | 显示所有包含其他使用者的行程 |
-f | 做一个更为完整的输出。 |
四. 使用实例
1.显示指定用户信息
ps -u root
2.显示所有进程信息,连带命令行
3.ps 与grep 常用组合用法,查找特定进程
ps -ef|grep uwsgi
[root@localhost autoAweme]# ps -ef|grep uwsgi root 30568 795 0 12月01 ? 00:00:19 /home/hc/project/envs/pgc/bin/uwsgi --ini /home/hc/project/pgc.ini root 30578 30568 0 12月01 ? 00:00:00 /home/hc/project/envs/pgc/bin/uwsgi --ini /home/hc/project/pgc.ini root 66069 795 1 12:07 ? 00:04:29 /home/hc/project/envs/autoAweme/bin/uwsgi --ini /home/hc/project/autoAweme.ini root 66096 66069 0 12:07 ? 00:00:01 /home/hc/project/envs/autoAweme/bin/uwsgi --ini /home/hc/project/autoAweme.ini root 80022 86053 0 16:06 pts/1 00:00:00 grep --color=auto uwsgi
4.将目前属于您自己这次登入的 PID 与相关信息列示出来
ps -l
说明:
各相关信息的意义:
标志 | 意义 |
---|---|
F | 代表这个程序的旗标 (flag), 4 代表使用者为 super user |
S | 代表这个程序的状态 (STAT),关于各 STAT 的意义将在内文介绍 |
UID | 程序被该 UID 所拥有 |
PID | 就是这个程序的 ID ! |
PPID | 则是其上级父程序的ID |
C | CPU 使用的资源百分比 |
PRI | 指进程的执行优先权(Priority的简写),其值越小越早被执行; |
NI | 这个进程的nice值,其表示进程可被执行的优先级的修正数值。 |
ADDR | 这个是内核函数,指出该程序在内存的那个部分。如果是个 running的程序,一般就是 "-" |
SZ | 使用掉的内存大小 |
WCHAN | 目前这个程序是否正在运作当中,若为 - 表示正在运作 |
TTY | 登入者的终端机位置 |
TIME | 使用掉的 CPU 时间。 |
CMD | 所下达的指令为何 |
5.列出目前所有的正在内存当中的程序
ps aux
结果
[root@localhost autoAweme]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 125804 4260 ? Ss 11月30 0:15 /usr/lib/systemd/systemd --switched-root --system --deserialize 22 root 2 0.0 0.0 0 0 ? S 11月30 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S 11月30 0:56 [ksoftirqd/0] root 5 0.0 0.0 0 0 ? S< 11月30 0:00 [kworker/0:0H] root 7 0.0 0.0 0 0 ? S 11月30 1:01 [migration/0] root 8 0.0 0.0 0 0 ? S 11月30 0:00 [rcu_bh] root 9 0.3 0.0 0 0 ? S 11月30 19:02 [rcu_sched]
说明
标志 | 意义 |
---|---|
USER | 该 process 属于那个使用者账号的 |
PID | 该 process 的号码 |
%CPU | 该 process 使用掉的 CPU 资源百分比 |
%MEM | 该 process 所占用的物理内存百分比 |
VSZ | 该 process 使用掉的虚拟内存量 (Kbytes) |
RSS | 该 process 占用的固定的内存量 (Kbytes) |
TTY | 该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。 |
STAT | 该程序目前的状态 |
START | 该 process 被触发启动的时间 |
TIME | 该 process 实际使用 CPU 运作的时间 |
COMMAND | 该程序的实际指令 |
感谢https://www.cnblogs.com/huchong/p/10065246.html
以上是关于linux每日命令:ps命令的主要内容,如果未能解决你的问题,请参考以下文章