実行中のアプリケーションAと通信できるアプリケーションBをどのように生成しますか? [閉鎖]

実行中のアプリケーションAと通信できるアプリケーションBをどのように生成しますか? [閉鎖]

バックグラウンドアプリケーションがあります。

アプリケーションを作成したいです。第二アプリケーション構成飛行中。

では、どのように検出しますか?走りながら指している

答え1

プログラムの構成のみを変更する場合は、一般的なアプローチはconfファイルを更新してからSIGHUP信号を送信することです。 SIGHUP信号はconfファイルを再ロードして応答するようにプログラムされています(参考資料を参照signal(7))。 Corenが言ったように、通常、プログラムが起動時に後でシグナルを送信できるように、プログラムが/ var / runのファイルにpidを保存するようにします。

プログラムとのより複雑な通信が必要な場合は、fifoまたはunixドメインソケットを使用する必要があります。 fifo(fifo(7)および参照mkfifo(3))はより簡単ですが、デーモンは単一の制御プログラムとのみ通信できます。 Unixドメインソケット(参考文献を参照unix(7))は使用がより複雑ですが、複数のクライアントへの接続を許可できます。

答え2

バックグラウンドアプリケーションは「悪魔「UnixとLinuxの世界で。

いくつかの方法で標準化されており、そのうちの1つはPIDを取得する方法です。彼らは通常pidファイルを生成します/var/run

その PID を使用すると、次のコマンドを使用して、その PID のほぼすべてを知ることができます。/プロセス。それでもアクティブであるかどうか、使用されているメモリ、メモリマッピング、ファイルを開くなどがわかります。

sr_が述べたように、IPCメソッドを使用して通信できます。

関連情報