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
のエントリ