Shell命令获取服务的进程ID
发布日期:2021-06-30 09:52:33 浏览次数:2 分类:技术文章

本文共 849 字,大约阅读时间需要 2 分钟。

文章目录

背景

最近在学习使用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!

转载地址:https://imxiaoqi.blog.csdn.net/article/details/99991586 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:ESP32 开发笔记(十三)ESP32 ping 功能
下一篇:CentOS 7安装Mongodb并使用Robo 3T远程测试连接

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月23日 11时53分26秒