C / C ++を使用して単純なデーモンアプリケーションを作成していますが、Linuxの起動時に起動したいと考えています。
/etc/init.d/skeletonを変更しようとしました 次のようにinit.dディレクトリにスクリプトを追加します
-
/usr/sbin/にデーモンアプリケーションを追加しました ディレクトリと変更されたNAME=myDaemon -
update-rc.d myDaemon defaultを記述します ターミナルで -
rc#.dへのシンボリックリンクを追加しました ディレクトリ
しかし、うまくいきませんでした。
2番目の試みは、rc.localを変更することでした。 として
/usr/sbin/myDaemon start
しかし、これも機能しませんでした。
OSでデーモンを起動するにはどうすればよいですか?プログラムですべてをやりたいです。
私はUbuntu10.10を使用していますが、すべてのディストリビューションに一般的なソリューションがあれば、それは素晴らしいことです!
承認された回答:
変更しないでください /etc/init.d/skeleton ファイル。 コピー 新しいファイルに追加します/etc/init.d/mamoudservice (mamoudserviceを置き換えます より適切な名前で)そしてあなたは編集 その新しいファイルを適切に。
次に、/etc/rc2.d/S99mamoudserviceからシンボリックリンクを追加します /etc/init.d/mamoudserviceへ など
例を使用してください。
/bin/bash -vx /etc/init.d/mamoudservice start
bashの方法を理解する シェルがスクリプトを解釈しています。
デーモンプログラムの場合/usr/sbin/mamouddaemon CまたはC++でコーディングされている場合は、openlogとsyslogを使用することをお勧めします。 内部では、少なくともデバッグメッセージを取得するために(stderrに出力しないでください) またはstdout デーモンでは、どこにも行けません。
/etc/init.d/mamoudserviceを使用する代わりの方法 スクリプトは、@rebootを配置することである可能性があります crontabのエントリ