实现一个系统服务脚本

实现一个系统服务脚本

	1、在 /etc/init.d 目录下新建文件 tomcat(服务文件名字)
	2、更改文件为可执行的   chmod +x  tomcat
	3、编辑文件  vim  tomcat

1、作为服务脚本必须实现的内容

对于service调取脚本可以传递给脚本的参数应该包含:
–start
–stop
–restart
–status
也就是 系统服务脚本 要有 service tomcat start | service tomcat stop … 差不多这样

2、服务脚本 必须实现的内容:

chkconfig: 123456 20 79
description: This is a Tomcat Server shell scripts
在这里插入图片描述

3、系统还有一个通用的工具脚本,其中包含了一些方便我们服务脚本开发的函数

在 系统服务脚本里 导入该脚本 . /etc/rc.d/init.d/functions

4、/etc/rc.d/init.d/functions脚本介绍:

functions这个脚本是给/etc/init.d里边的文件使用的,提供了一些基础的功能
重要函数:
checkpid:检查是否已存在pid,如果有一个存在,返回0(通过查看/proc目录) checkpid $pid
daemon:启动某个服务。/etc/init.d目录部分脚本的start使用到这个
killproc:杀死某个进程。/etc/init.d目录部分脚本的stop使用到这个
status:返回一个服务的状态
我们可以在自己的脚本中通过source或.的方式导入
在这里插入图片描述

5、通过检查程序进程来判断 程序是否运行

想要检查程序进程 就要通过启动的时候 返回一个 pid
存放在一个.lock文件里 然后通过读取此文件来判断是否有该进程存在

1、tomcat有自己的服务管理脚本
2、在系统服务脚本中判断服务进程状态
3、最直接的方式是用进程的PID
4、对tomcat的脚本进行一些手术:
5、观察:bin/startup.sh
在这里插入图片描述
在这里插入图片描述

发现最终调用catalina.sh脚本
并传参start
所以查找catalina.sh
查找到这行:
elif [ “ 1 " = " s t a r t " ] ; t h e n , : e c h o " C A T A L I N A P I D : 1" = "start" ] ; then 向下寻找到分支结束前,添加: echo "CATALINA_PID: !”

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42712704/article/details/88976161
今日推荐