Daemon
使用主管管理守護程序:沒有可用的前台模式
我正在嘗試使用supervisord管理程序,但該程序沒有在前台執行的選項:它總是守護程序。(那是 Zabbix 伺服器)。
有沒有辦法用主管管理守護程序?有什麼工具可以讓它在前台執行?或者,也許,以某種方式使用 pidfile?
為了解決這個問題,我們需要一些在前台執行的程序,它在守護程序退出時退出,並且還代理給守護程序的信號。
考慮使用以下腳本 bash 腳本:
#! /usr/bin/env bash set -eu pidfile="/var/run/your-daemon.pid" command=/usr/sbin/your-daemon # Proxy signals function kill_app(){ kill $(cat $pidfile) exit 0 # exit okay } trap "kill_app" SIGINT SIGTERM # Launch daemon $command sleep 2 # Loop while the pidfile and the process exist while [ -f $pidfile ] && kill -0 $(cat $pidfile) ; do sleep 0.5 done exit 1000 # exit unexpected