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
相关推荐
云泽8082 小时前
第十五届蓝桥杯大赛软件赛省赛C/C++大学B组
c语言·c++·算法·蓝桥杯
Wadli2 小时前
集群C++聊天服务器
服务器·开发语言·c++
洛水水2 小时前
# 线程池详解:从原理到实现
c++·线程池
思麟呀3 小时前
HTTP的Cookie和Session
linux·网络·c++·网络协议·http
小明同学013 小时前
linux进程(下)
linux·服务器·c++
汉克老师3 小时前
GESP2023年12月认证C++三级( 第一部分选择题(1-8))
c++·string·字符数组·gesp三级·gesp3级
俺不要写代码3 小时前
lambda表达式理解
c++·算法
澈2073 小时前
动态内存管理:从基础到实战详解
c++·算法
想唱rap3 小时前
C++11之包装器
服务器·开发语言·c++·算法·ubuntu