2011-07-17 6 views
1

でUNIXのデーモンを起動します。あなたはこれを実現することができる方法上の任意のドキュメントやアイデアを知っている場合停止し、私は、この機能(コマンドライン)とデーモン(UNIXのplateforme)を開発しようとしているC

[email protected]>myDaemon start // This start the daemon 
[email protected]>myDaemon stop // This stop the daemon 
[email protected]>myDaemon show // This will show some stuff that the daemon is doing 

。私にお知らせください :)。

ありがとうございました。

+4

あなたの質問は非常に曖昧です。それらは、Cで書かれたデーモンのコマンドライン引数であることを意図しているか、またはCプログラムはそれらの引数でmyDaemonを実行する必要がありますか? – Tom

+0

@Tom:ありがとう、私はシンプルなデーモンをcで書いています。このコマンドラインの機能をmysqldデーモンのように追加したいのですが。 – funnyCoder

答えて

2

これは、通常、デーモンプロセスに信号を送ることによって行われます。

あなたは、プロセスがシグナルを受信するたびに呼び出されるハンドラをインストールすることで、あなたのデーモン(SIGTERMSIGQUITSIGSTOP、など)に対応するために特定の信号を選択する必要があります。

シェルから、kill(1)コマンドを使用してシグナルをプロセスに送信できます。

アクティブなクライアント/接続/ジョブがある場合は、優雅なデーモン停止が非常に難しいことに注意してください。通常、新しいものを受け取らなくても、最後のものが終了するまで待つべきです。

+0

ありがとう、私は開始と停止を理解することができますが、コマンドのようなものです:myDaemon show(例えば、いくつかのものを表示します) – funnyCoder

+1

アプリケーション固有のニーズを意図した 'SIGUSR1'と' SIGUSR2'というシグナルがあります。 –

+0

これはデーモンがコマンドラインのやりとりを実装するのに適した方法ですか?ありがとう。 – funnyCoder

関連する問題