Monit无法启动/停止服务,如果我停止服务,请停止在Monit中监控服务。附上日志和配置以供参考。
#Monitor vsftpd#
check process vsftpd
matching vsftpd
start program = "/usr/sbin/vsftpd start"
stop program = "/usr/sbin/vsftpd stop"
if failed port 21 protocol ftp then restart
发布于 2019-06-10 01:09:09
日志显示:"stop on user request“。进程被停止,监视被禁用,因为监视一个停止的(=不存在的)进程没有任何意义。
如果您重新启动服务(通过cli或web),它应该将info: 'test' restart on user request
打印到日志中,并调用停止程序并继续启动程序(如果没有提供专用的重新启动程序)。
实际上,可能会出现一个问题:如果停止脚本无法创建预期的状态(=NOT(check process matching vsftpd)
),则不会调用启动程序。因此,如果有一个任务正在运行,与vsftpd
匹配,monit将不会调用启动程序。因此,在可能的情况下,最好使用PID文件进行监控。
最后,由于不知道您使用的是什么系统/版本,有一个假设:我系统上的vsftpd
二进制文件实际上只是一个守护进程。它不支持任何选项。所有参数都是配置文件,如the man page中所述。因此,提供start和stop只会尝试创建加载start
和stop
文件的新守护进程。--如果这是真的,则会出现上述问题,因为您的vsftpd
从未停止过。
https://stackoverflow.com/questions/51417821
复制相似问题