支持如下功能:
测某个服务器进程是否运行,被监测进程退出后自动重启
主动停止被监测进程,从某台服务器上更新该程序或相关的配置文件,重启该进程
对以上两个功能的实现步骤分两步
在主和从服务器上分别建立程序文件和脚本文件,并分别首次启动服务程序和监测服
务程序的脚本
主: helloworld.c、a.out、start.sh、monitor.sh、update.sh
从: helloworld.c、a.out、start.sh、monitor.sh
主动停止主和从服务器的被监测进程和监测进程,并对主和从服务器更新该服务程序,再自动重启被监测进程和监测进程
Descript:
被监测的程序为 a.out,其是 helloworld.c 的可执行程序
具体细节描述以图片的形式展示管理服务进程功能的实现
主服务器下的程序文件和脚本文件
从服务器下的程序文件和脚本文件
启动主服务器该服务程序和监测服务程序的脚本
启动前:
启动后出现 pid 和进程名:
启动从服务器该服务程序和监测服务程序的脚本
启动前:
启动后出现 pid 和进程名:
被监测进程挂掉自动重启
杀掉主服务器进程 a.out 并自动重启,pid 发生改变:
杀掉从服务器进程 a.out 并自动重启,pid 发生改变:
主动停止被监测进程和监测进程,更新该服务程序并自动重启监测与被监测进程
更新主服务器上的 helloworld.c 文件
此时从服务器上的 helloworld.c 还未更新
在主服务器上运行 update.sh 脚本,首先停止主和从服务器的监测和被监测进程,将 helloworld.c 更新到从服务器上,并自动重启监测与被监测进程。
主服务器的被监测与监测进程的 pid 发生改变
从服务器上 helloworld.c 更新成功
从服务器的被监测与监测进程的 pid 发生改变