目录
前言
本文介绍了为什么可以通过 ps -ef 配置文件名 的方式来过滤出 配置文件对应的进程
一、ps命令介绍
ps命令是Process Status的缩写,用于查看系统进程的状态,ps命令输出值非常多,通常会结合管道符 和grep 使用。
二、使用步骤
1.我们直接输入ps命令,不加任何参数。
代码如下(ps示例):
可以看到默认输出4列信息
PID: 运行着的命令(CMD)的进程编号
TTY: 命令所运行的位置(终端)
TIME: 运行着的该命令所占用的CPU处理时间
CMD: 该进程所运行的命令
[localhost@hadoop102 ~]$ ps
PID TTY TIME CMD
7699 pts/0 00:00:00 bash
7904 pts/0 00:00:07 java
8431 pts/0 00:00:00 ps
2.ps -ax 使用 -a 参数。
-a 代表 all。
同时加上x参数会显示没有控制终端的进程.
代码如下(示例):
[localhost@hadoop102 ~]$ ps -ax | less
PID TTY STAT TIME COMMAND
1 ? Ss 0:05 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
2 ? S 0:00 [kthreadd]
4 ? S< 0:00 [kworker/0:0H]
6 ? R 0:00 [ksoftirqd/0]
7 ? S 0:01 [migration/0]
该命令输出结果很长,可以结合管道符 配合 more , less 命令使用
例如 ps -ax |less ps-ax |more
3.查看特定用户的进程
假如我们要查看"root"用户的进程, 可以使用ps -u root来查看
[localhost@hadoop102 ~]$ ps -u root
PID TTY TIME CMD
1 ? 00:00:05 systemd
2 ? 00:00:00 kthreadd
4 ? 00:00:00 kworker/0:0H
6 ? 00:00:00 ksoftirqd/0
7 ? 00:00:01 migration/0
8 ? 00:00:00 rcu_bh
4. 通过cpu和内存使用来过滤进程
把结果按照 CPU 或者内存用量来筛选,这样你就找到哪个进程占用了你的资源。要做到这一点,我们可以使用 aux 参数,来显示全面的信息:
ps -aux |less
[localhost@hadoop102 ~]$ ps -aux |less
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 128224 6932 ? Ss 18:06 0:05 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root 2 0.0 0.0 0 0 ? S 18:06 0:00 [kthreadd]
root 4 0.0 0.0 0 0 ? S< 18:06 0:00 [kworker/0:0H]
root 6 0.0 0.0 0 0 ? S 18:06 0:00 [ksoftirqd/0]
root 7 0.0 0.0 0 0 ? S 18:06 0:01 [migration/0]
root 8 0.0 0.0 0 0 ? S 18:06 0:00 [rcu_bh]
root 9 0.0 0.0 0 0 ? S 18:06 0:06 [rcu_sched]
root 10 0.0 0.0 0 0 ? S< 18:06 0:00 [lru-add-drain]
可以通过 --sort命令来排序。
根据 CPU 使用来升序排序
ps -aux --sort -pcpu | less
[localhost@hadoop102 ~]$ ps -aux --sort -pcpu | less
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
atguigu 6196 10.2 6.0 3119292 307388 ? Sl 21:31 5:38 /opt/module/jdk1.8.0_212/bin/java -Dproc_namenode -Djava.net.preferIPv4Stack=true -Dhdfs.audit.logger=INFO,NullAppender -Dhadoop.security.logger=INFO,RFAS -Dyarn.log.dir=/opt/module/hadoop-3.1.3/logs -Dyarn.log.file=hadoop-atguigu-namenode-hadoop102.log -Dyarn.home.dir=/opt/module/hadoop-3.1.3 -Dyarn.root.logger=INFO,console -Djava.library.path=/opt/module/hadoop-3.1.3/lib/native -Dhadoop.log.dir=/opt/module/hadoop-3.1.3/logs -Dhadoop.log.file=hadoop-atguigu-namenode-hadoop102.log -Dhadoop.home.dir=/opt/module/hadoop-3.1.3 -Dhadoop.id.str=atguigu -Dhadoop.root.logger=INFO,RFA -Dhadoop.policy.file=hadoop-policy.xml org.apache.hadoop.hdfs.server.namenode.NameNode
atguigu 6911 8.0 7.5 3110312 384080 ? Sl 21:35 4:06 /opt/module/jdk1.8.0_212/bin/java -Dproc_historyserver -Djava.net.preferIPv4Stack=true -Dmapred.jobsummary.logger=INFO,RFA -Dyarn.log.dir=

本文详细介绍了如何在CentOS系统中使用ps命令及其参数来精确过滤进程,包括通过进程名、PID、CPU及内存使用情况等进行过滤的方法,并展示了如何利用ps命令与grep、awk等工具结合实现特定进程的查找。
最低0.47元/天 解锁文章
1284

被折叠的 条评论
为什么被折叠?



