文章目录
- 背景
- 查看服务进程信息
- 过滤 grep 本身
- 显示服务进程 ID
- Shell 脚本实现
- 小结
背景
最近在学习使用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!