起動時に実行する必要があるプロセスがあります。これは、マシンの電源が入っている間ずっと稼働し続ける必要があるものです。今のところ、サーバーを起動するすべてをbashに次のように入力しています。
command -f argument & disown
Initスクリプトを作成する必要があることは知っていますが、その方法がわかりませんでした。いくつかの調査の後、Ubuntuはinitシステムとしてsystemdを使用しているようです(Upstartによると、同じではないという参照もあります)。しかし、オンラインで見つけたすべてのガイドは、実行可能ファイルを/etc/init
または/etc/init.d
に配置するよう指示しています。 Initは完全に異なるinitシステムであると想定されています。
誰かが私を正しい方向に向けることができますか?サンプルのsystemdスクリプトまたはオンラインガイドでさえ、非常に役立ちます。
次の2つのファイルが必要です。
スクリプトファイル:
command.sh
.service
ファイルを/etc/systemd/system
に配置し、644
にchmod 664 command.service
の許可を与える:
command.service
command.service
の最も単純なコンテンツは次のとおりです。
[Unit]
Description=Some service description
[Service]
ExecStart=/bin/bash -c "/path/to/command.sh -f argument & disown"
[Install]
WantedBy=multi-user.target
ブート時に起動するには、systemd
コントローラーsystemctl
を使用します。
Sudo systemctl enable command
# or
Sudo systemctl enable command.service
さまざまなセクションでさらに多くのオプションを使用できることに注意してください。 こちら を参照し、command.sh
がchmod +x command.sh
で実行可能であることを確認してください