多くのシステムデーモンは、起動/停止コマンドを使用して起動できます。私はちょうどLinuxシステム上でどのように起動/停止が機能するのか不思議であった。私はデーモンの実行可能ファイルを書きましたが、Linuxで起動/停止によって制御できるように、どのように設定する必要がありますか?Linuxでの起動および停止コマンドで制御可能なレジスタデーモン
1
A
答えて
1
私は数年前にlinux(ArchLinux)でデーモンを作り、毎日完璧に動作します。 これには2通りの方法があります。ショート道と長い道のり:
ショートウェイ:
の/ etc/systemdに/システム/ mydaemon:
は、例えばmydaemon.serviceのために呼ばれるの/ etc/systemdに/システム/内のファイルを作成します。 .service
[Unit]
Description=This is my first daemon! - Fernando Pucci
After=network.target
[Service]
User=root
WorkingDirectory=/root
Type=oneshotmc
RemainAfterExit=yes
ExecStart=/bin/echo -e "Daemon started"
ExecStop=/bin/echo -e "Daemon Stopped"
[Install]
WantedBy=multi-user.target
このサービスは、デーモンが起動または停止示すが、何もしません。必要な文章でエコーを変更することができます。
あなたには、いくつかのスクリプトを実行する必要がある場合は、長い道のりてみてください: は、いくつかのディレクトリにファイルを作成します
長い道のり、ルートフォルダなどをまたは/ usr/libに/ systemdに例
を呼びかけ/スクリプトあなたは (chmodコマンドのx)は、それが実行可能にする必要があります(そして、あなたはそれをのwiを実行することができ/root/mydaemon.sh
start() {
<your start sentences here
and here>
}
stop() {
<your stop sentences here
and here>
}
case $1 in
start|stop) "$1" ;;
esac
目の開始またはそれをテストするためのパラメータを停止します。)
を第二段階として、 /usr/lib/systemd/system/mydaemon.serviceに
[Unit]
Description=Second daemon of Fernando Pucci
After=network.target
[Service]
User=root
WorkingDirectory=/root
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/bash -c '/root/mydaemon.sh start'
ExecStart=/bin/echo -e "MyDaemon Started"
ExecStop=/bin/bash -c '/root/mydaemon.sh stop'
ExecStop=/bin/echo -e "MyDaemon Stopped"
[Install]
WantedBy=multi-user.target
起動とを停止し、別のファイルを作成します
systemctl start mydaemon
systemctl stop mydaemon
systemctl status mydaemon
systemctl enable mydaemon
systemctl disable mydaemon
あなた(と誰か)は、私にプライベートメッセージを送信して、その旨を知らせることができます。
関連する問題
- 1. azure vmの起動/停止によるプログラム制御
- 2. Linuxスクリプトの起動、停止、再起動
- 3. 開発用ラップトップでSQL Serverを起動および停止
- 4. クラスタ内でhadoopデーモン/プロセスを起動および停止する
- 5. スプリング制御バスを使用してスプリングファイルインバウンドアダプタを起動および停止する方法は?
- 6. 予測不可能なアクセス制御 - 許可 - 起源行動
- 7. Rubyからシェルデーモンを起動および停止する方法
- 8. Main()クラスからWildflyサーバーを起動および停止する
- 9. アンドロイドアプリケーションからビデオレコーダーを起動および停止する方法
- 10. JavaでAmazon EC2インスタンスをプログラムで起動および停止する方法
- 11. typed.jsプラグインの開始と停止の制御は可能ですか?
- 12. jQueryトリガードラッグ可能な起動と停止touchmoveイベント
- 13. QEMU、起動可能なデバイス、Linuxの
- 14. jekyllサイトを開始および停止するコマンド
- 15. すべてのOracleサービスを起動および停止するSQLスクリプト
- 16. ItemsControlおよび添付プロパティの制御
- 17. バージョンの制御およびリリースログは、Oracle
- 18. スケジュールされたexececutorserviceを複数回起動および停止する方法
- 19. スケジュールに基づいてEC2インスタンスを起動および停止する
- 20. ANTを使用してTomcatを起動および停止しますか?
- 21. 理由:CORSヘッダー「アクセス制御 - 許可 - 起源:CORSヘッダー「アクセス制御 - 許可 - 起源」
- 22. docker-composeでアプリケーションを起動および停止する便利な方法を探してください
- 23. TeamCityでIIS Expressをどのように起動および停止しますか?
- 24. AppleのSwiftベースの実動サーバー(私が書いたプログラム)をUbuntu Linuxで起動および停止するにはどうすればいいですか?
- 25. 可能なプレイブックの制御ループのループ
- 26. Android ADBの停止アプリケーションのコマンド(非ルートデバイスの「強制停止」など)
- 27. CompileThreshold、Tier2CompileThreshold、Tier3CompileThreshold、およびTier4CompileThresholdの制御は何ですか?
- 28. アクセス制御可能なメソッドのデフォルト値
- 29. メディアプレーヤーの起動/停止 - クラッシュ
- 30. MySQLの起動と停止
https://www.freedesktop.org/software/systemd/man/systemd.service.html(さらに一般的にはhttps://www.freedesktop.org/software/systemd/man/)を探している可能性があります。それはデーモン管理のためのただ一つの(普及した)可能性です。あなたが話しているディストリビューションを知らなければ、私たちはもっと具体的にすることはできません。 (私が入力しているLinuxベースのコンピュータでは、 "開始"と "停止"のコマンドはありません) – zwol
ありがとう!ザック! – JAX