私が必要としているのは、ある種の API を介して Linux デーモンを制御する可能性です。たとえば、特定のデーモンが実行されているかどうかを確認したり、開始/停止/再起動したりします。
この機能を提供する Linux ライブラリはありますか?
D-BusまたはSNMPを使用することもできます。ただし、ほとんどのデーモンは PID を以下のファイルに書き込み、停止するシグナルと構成ファイルをリロードするシグナルを/var/run/
受け入れます (通常は の下)。SIGTERM
SIGHUP
/etc/
mydprog
デーモン プログラムがその pid を/var/run/mydprog.pid
他のプログラムに書き込んでいるという通常の規則を採用する場合、その pid を読み取り、0 シグナルでkill(2)を使用して、デーモン プロセスが実行されていることを確認できることに注意してください。/proc/1234/
また、 (1234 はデーモンの pid です) の下にあるいくつかの疑似ファイルにアクセスすることもできます。特に/proc/1234/status
、詳細についてはproc(5)を参照してください。
また、いくつかのunix(7)またはtcp(7)ソケットでJSONRPCプロトコルを使用するなどして、ステータス情報を提供することでいくつかのクエリに応答するようにデーモンを設計することもできます。libonionなどの HTTP サーバー ライブラリを介したHTTPプロトコル、またはその他のメッセージ パッシング プロトコルやリモート プロシージャ コール プロトコルの使用を検討することもできます。
簡単な答えはノーです。
一部のデーモンには API がある場合がありますが、それはそのデーモンに固有のものです。ほとんどのデーモンを停止またはステータスを取得するために
実行できます/etc/init.d/<daemon_name> start|stop|status