ps axj | grep 和 which命令

ps axj | grep 命令

这是 Linux/Unix 系统中最常用的进程查询组合命令 ,作用是列出系统所有进程,并精准过滤出你要找的进程

1. 命令各部分含义

ps axj
ps = 查看进程状态的基础命令

参数含义:

  • a:显示所有用户的进程(不单是当前用户)
  • x:显示无终端关联的进程(守护进程 / 后台服务)
  • j用任务格式展示,包含父进程 ID、进程组 ID、会话 ID 等详细信息

|

管道符:把左边命令的输出,作为右边命令的输入

grep

过滤工具:筛选包含指定关键词的行

2. 完整正确用法(必须加关键词)

grep 后面必须跟你要搜索的进程名称 / 关键词 ,否则命令不完整。

示例 1:搜索 Nginx 进程

bash 复制代码
ps axj | grep nginx

示例 2:搜索 MySQL 进程

bash 复制代码
ps axj | grep mysql

3. 输出结果说明

bash 复制代码
ps axj | grep test

执行后会显示类似内容:

bash 复制代码
2021  2068  2068  1992 pts/1     2068 S+       0   0:00 ./test
1888  2107  2106  1859 pts/0     2106 R+       0   0:00 grep --color=auto test 
  • 最后一行是 grep 自身进程,不是目标服务进程,可忽略
  • 前面的行就是你要找的真实进程

4. 优化(推荐):过滤掉 grep 自身进程

bash 复制代码
ps axj | grep test | grep -v grep

-v = 反向匹配,排除包含 grep 的行

总结

  1. ps axj :列出系统所有进程 + 详细任务信息
  2. | grep 关键词:精准筛选目标进程
  3. 完整用法:ps axj | grep 进程名
  4. 优化用法:ps axj | grep 进程名 | grep -v grep

什么是grep自身进程

执行 ps axj | grep test

2021 2068 2068 1992 pts/1 2068 S+ 0 0:00 ./test

1888 2107 2106 1859 pts/0 2106 R+ 0 0:00 grep --color=auto test

第2行是什么?

这行输出不是你要找的 test 进程 ,而是你刚才执行的 grep 命令自己,是系统的正常现象,完全不用管。

1. 这行到底是什么?

plaintext 复制代码
1888  2107  2106  1859 pts/0     2106 R+       0   0:00 grep --color=auto test

拆解开:

  • grep:这是你执行的过滤命令本身
  • --color=auto test :搜索的关键词是 test
  • R+:表示这个 grep 正在运行、瞬间执行完就消失

2. 为什么会出现它?

因为执行:

bash 复制代码
ps axj | grep test

系统在执行时:

  1. 先运行 ps axj 列出所有进程
  2. 再运行 grep test 去过滤
  3. grep 自己也会变成一个进程,所以也会被 ps 列出来
  4. 因为它包含 test 关键词,就把自己也匹配到了

3.怎么去掉这行干扰?

加一句 排除 grep 自身 即可:

bash 复制代码
ps axj | grep test | grep -v grep

这样输出就只剩下真正的 test 进程,干净清爽。

which命令

bash 复制代码
which 命令名

示例:

复制代码
which grep
which ps
which ls
which python
bash 复制代码
[root@iv-yebv3uyg3kbw80fb2oiv ~]# which ls
alias ls='ls --color=auto'
	/usr/bin/ls
[root@iv-yebv3uyg3kbw80fb2oiv ~]# which ll
alias ll='ls -l --color=auto'
	/usr/bin/ls
[root@iv-yebv3uyg3kbw80fb2oiv ~]# which g++
/opt/rh/devtoolset-7/root/usr/bin/g++
[root@iv-yebv3uyg3kbw80fb2oiv ~]# 

它会告诉你这个命令在哪个目录,比如:

复制代码
/usr/bin/grep
相关推荐
别动我齐刘海14 小时前
机器人运动控制学习2——基础进阶
c++·人工智能·神经网络·学习·目标检测·机器学习·机器人
傻啦嘿哟14 小时前
英雄联盟皮肤爬虫:爬取全皮肤价格与特效,做比价工具
java·c++·爬虫
码匠许师傅15 小时前
【C++ 面试真题】24. 聊聊 C++ 的时间日期处理
java·c++·面试
闻道且行之16 小时前
图片处理助手|泊松融合原理 + C++ 工程实现,seamlessClone 三模式一次讲透
数据库·c++·人工智能·opencv
莫浅子16 小时前
day01-USB架构与枚举
c++·单片机·嵌入式驱动
小欣加油17 小时前
leetcode3069 将元素分配到两个数组中I
数据结构·c++·算法·leetcode·职场和发展
不会代码的小猴17 小时前
7. JSON
开发语言·c++·笔记·qt·算法·json
沫璃染墨17 小时前
《Qt从零入门系列(六):信号与槽进阶——从多种连接方式到Lambda表达式》
开发语言·c++·qt·代码规范·设计规范·qt5
小小龙学IT18 小时前
ZeroMQ(libzmq)开源消息库深度解析:brokerless 时代的轻量消息内核
c++·开源
Benny_Tang19 小时前
题解:P10230 [COCI 2023/2024 #4] Lepeze
c++·算法