我的编程空间,编程开发者的网络收藏夹
学习永远不晚

【Linux】ps -ef|grep -v grep|awk ‘{print $2}‘ 命令详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

【Linux】ps -ef|grep -v grep|awk ‘{print $2}‘ 命令详解

第一步:grep -v grep

grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
ps -ef|grep java就是通过管道的方式,将ps命令查询出来的进程信息内容筛选出与jar进程相关的数据
但是使用grep命令过滤时会查询出grep自己的进程信息,示例如下:
[root@localdomain1 ~]# ps -ef|grep xh-1.0-SNAPSHOT.jar root 3256 1 0 Aug11 ? 00:17:19 java -jar xh-1.0-SNAPSHOT.jar --spring.config.location=application.yml root 6435 6395 0 08:38 pts/1 00:00:00 grep --color=auto xh-1.0-SNAPSHOT.jar
可以看到在查询到的进程信息中,除了我们需要的xh-1.0-SNAPSHOT.jar进程,还包括了grep --color=auto进程信息
大多数情况下,在编写脚本时,往往需要精确获取到单一进程的信息,此时就需要通过 -v 参数排除掉grep进程的信息数据
-v 参数,作用是反转查找,即过滤出除了参数后面的其他数据,示例如下
[root@localdomain1 ~]# ps -ef|grep xh-1.0-SNAPSHOT.jar |grep -v grep root 3256 1 0 Aug11 ? 00:17:19 java -jar xh-1.0-SNAPSHOT.jar --spring.config.location=application.yml
可以发现,当我们在后面添加了|grep -v grep后,查询出来的结果就只剩下我们需要的xh-1.0-SNAPSHOT.jar进程信息了,说明grep进程已经被排除在外了

第二步:awk '{print $2}'

awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息
awk处理过程: 依次对每一行进行处理,然后输出
print & $0 是awk打印指定内容的主要命令
在第一步中,我们查询出来了jar进程的信息,此时需要获取到这条进程信息的PID
我们就可以使用awk命令将自己需要的某一列数据单独提取出来,示例如下
[root@localdomain1 ~]# ps -ef|grep xh-1.0-SNAPSHOT.jar|grep -v grep|awk '{print $2}' 3256
其中,$2代表提取进程信息中第二列的值,而我们使用ps命令查询出的进程信息中的第二列对应的正好就是进程的PID(注意:$0表示获取整个当前行)
可以看到,通过awk '{print $2}'命令,我们成功拿到了xh-1.0-SNAPSHOT.jar进程的PID

类似脚本示例(脚本来源

#检查程序是否在运行is_exist(){  pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'`  #如果不存在返回1,存在返回0     if [ -z "${pid}" ]; thenreturn 1  elsereturn 0  fi}

https://www.cnblogs.com/suhai/p/16585787.html

来源地址:https://blog.csdn.net/huotongwangbs/article/details/129784520

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

【Linux】ps -ef|grep -v grep|awk ‘{print $2}‘ 命令详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux中grep命令详解

目录一、grep基本介绍二、正则表达式grep实践2.1、输出以 I 开头的行(不区分大小写)2.2、输出以.结尾的行2.3、$符号 注意在linux平台下, 所有文件的结尾都有一个$符可以利用cat -A 查看文件2.4、^$(代表空行的
2023-02-13

Linux中grep和egrep命令详解

rep / egrep 语法: grep [-cinvABC] 'word' filename -c :打印符合要求的行数 -i :忽略大小写 -n :在输出符合要求的行的同时连同行号一起输出 -v :打印不符合要求的行 -A :后跟
2022-06-04

linux中使用grep命令详解

linux grep命令 Linux grep命令用于查找文件里符合条件的字符串;也可以用于查找内容包含指定的范本样式的文件。它能使用正则表达式搜索,用于在文件中搜索指定的字符串模式,列出含有匹配模
2022-06-04

Linux 系统 grep 命令超详细讲解

grep命令是Linux系统中非常常用的搜索命令,用于在文件中查找指定的字符串。下面是grep命令的详细讲解:基本语法:grep [选项] 字符串 文件名选项:- i 忽略大小写- r 递归搜索- v 反选,只打印没有匹配到字符串的行- l
2023-09-15

Linux常用命令之grep命令用法详解

1.官方简介 grep是linux的常用命令,用于对文件和文本执行重复搜索任务的Unix工具,可以通过grep命令指定特定搜索条件来搜索文件及其内容以获取有用的信息。Usage: grep [OPTION]... PATTERN [FILE
2022-06-03

详解Linux下find查找文件命令和grep查找文件命令

目录一、find命令1.按文件名2.按文件类型查询3.按照文件大小查找4.按照文件日期查找4.1按照创建日期查找4.2按照修改日期查找4.3按照访问日期查找5.按深度查找5.1查找起始点以下n层的目
2022-06-05

一天一个shell命令 linux文本内容操作系列-grep命令详解

从这篇开始,是文本内容操作,区别于文本操作。 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正
2022-06-04

编程热搜

目录