DTStack / chengying-agent

EasyAgent is an infrastructure component, applied to manage the life-cycle of services on the remote host.
Apache License 2.0
32 stars 7 forks source link

easyagent-sidecar重启后,如何重新托管已经在运行的服务进程? #3

Open lishijiang opened 2 years ago

lishijiang commented 2 years ago

1、sidecar进程信息

image

2、kill -9 之前 mysql的进程状态如下 :

image

3、kill -9 4、此时mysql的拉起进程的ppid被根进程1接管

image

5、过了几分钟,crontab自动把easyagent-sidecar拉起, 此时easyagent-sidecar进程信息

image

mysql进程信息

image

疑问: 1、sidecar启动时如何接管已经运行的服务,mysql启动脚本的ppid从1变更成sidecar的pid? 2、是重新运行mysql启动脚本? 3、mysql的服务进程id变了,是因为重启了mysql?影响正常运行的服务实例吗?

reaperhero commented 2 years ago

image

针对kill -9命令 1、sidecar会捕获信号,然后回依次kill掉管理的服务 2、定时任务启动时,agent会重新启动服务(上图的mysql pid已经变化)

lishijiang commented 2 years ago

image

针对kill -9命令 1、sidecar会捕获信号,然后回依次kill掉管理的服务 2、定时任务启动时,agent会重新启动服务(上图的mysql pid已经变化)

1、只是kill -9 sidecar,导致托管的所有服务都退出 ,感觉是个严重性问题,这个生产上有点不好接受。

reaperhero commented 2 years ago

这里如果不停止服务的话,下次启动会暴露很多问题(端口冲突。。)