Shell命令获取服务的进程ID

背景

最近在学习使用Shell脚本做一些有意思的东西,通过写在Shell脚本中的命令,可以快速的实现对服务器的某个操作。
在没有使用Shell脚本的时候,可能我杀死服务器中运行的某个后台服务程序,需要在终端中输入不止一个命令来实现该操作。但是使用Shell脚本就可以很快速的实现这个操作,我们所需要做的只不过是简单执行一下Shell脚本即可,这是因为Shell脚本中已经写入了实现操作所需的命令。


查看服务进程信息

查看服务的进程信息使用下面的命令:

ps -ef | grep 服务名称

例如查看服务器上的mongodb服务进程信息,使用上面的命令后显示如下:

在这里插入图片描述
可以看到出现了两个结果,我们一眼就能看到服务所在的进程信息是第一个所示结果。


过滤 grep 本身

上面的结果中有两个匹配的结果,所以我们需要过滤 grep 本身,从而直观的只显示服务进程信息一条结果。查看 grep 的帮助,如下图示:

在这里插入图片描述

grep 通过携带 -v 选项来过滤 grep 本身,(以mongodb服务为例)使用命令:

ps -ef|grep mongodb|grep -v grep

如下图示:

在这里插入图片描述

毫无意外,我们看到了正确的结果显示。


显示服务进程 ID

使用 awk 命令来实现,使用命令如下:

ps -ef|grep mongodb|grep -v grep|awk '{print $2}'

如下图示:

在这里插入图片描述

我们成功的打印了 mongodb 服务的进程 ID


Shell 脚本实现

看一下我脚本里面的内容,如图:

在这里插入图片描述

然后执行脚本,使用命令:

./test.sh

如图:

在这里插入图片描述

打印成功。


小结

这里只给同学们很简单的讲了下服务进程的获取,至于你拿到这个进程号或者是其他的信息,后续想做更多的操作,也都可以在脚本文件中实现,然后一键执行脚本就能很快速高效的完成该操作。

所以学以致用,同学们实践起来并掌握好,真正的运用到实际中去。


A little bit of progress every day!Come on!

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值