我想守护一个python进程,现在想要问一个守护进程是否运行好,如父进程并调用另一个打开10-30个线程的类.
我打算为一组服务器编写一个监控脚本,并希望每隔5分钟检查一次每台服务器,每个服务器都要检查5分钟.
我想这样(有点说,ps auxf样式输出):
|monitor-daemon.py
\-check-server.py
\-check-server.py
Run Code Online (Sandbox Code Playgroud)
....
谢谢!
您可以为此使用supervisord 。您可以配置任务来响应事件。事件可以手动创建,也可以通过监控流程自动创建,或者定期创建。
它是完全可定制的并用 Python 编写。
例子:
[program:your_daemon_name]
command=your_daemon_process
# Add extra options here according to the manual...
[eventlistener:your_monitor_name]
command=your_monitor_process
events=PROCESS_STATE_RUNNING # Will be triggered after a program changes from starting to running
# Add extra options here according to the manual...
Run Code Online (Sandbox Code Playgroud)
或者,如果您希望事件侦听器响应流程输出,请使用事件PROCESS_COMMUNICATION_STDOUT或TICK_60每分钟检查一次。日志可以重定向到文件等,以便您始终可以查看状态。