iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >【Linux】ps -ef|grep -v grep|awk ‘{print $2}‘ 命令详解
  • 240
分享到

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

linux运维服务器Poweredby金山文档 2023-10-11 06:10:43 240人浏览 安东尼
摘要

第一步:grep -v grep grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用

第一步: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

--结束END--

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

本文链接: https://www.lsjlt.com/news/428051.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作