Java実行可能プログラムがあり、ターミナルでJava -jar abc.jar
と入力することで実行できます。サービスとして実行するにはどうすればよいですか? service abc start
と入力して、サービスとして実行したいです。
14.04にいることを確認してください。 Ubuntu 16.04(以降)はUpstartではなくsystemdを使用します
Upstartスクリプトは、/etc/init/
に配置され、.conf
で終わるスクリプトファイルです。
2つのセクションが必要です。1つはいつ開始するかを示すセクション、もう1つは実行するコマンドを含むセクションです。
サンプルから開始する最も簡単なスクリプトは次のとおりです。
# myprogram.conf
start on filesystem
exec /usr/bin/Java -jar /path_to/program
/etc/init/myprogram.conf
の下にルートとして作成されます。
スクリプトに複数のコマンドラインが必要な場合は、script
行の代わりにexec
セクションを使用します。
# myprogram.conf
start on filesystem
script
/usr/bin/Java -jar /path_to/program
echo "Another command"
end script
サービスのbash補完を有効にするには、/etc/init.d
フォルダーにシンボリックリンクを追加します。
Sudo ln -s /etc/init/myprogram.conf /etc/init.d/myprogram
次に、開始して停止してみてください。
Sudo service myprogram start
pstart cookbook に従って、実行するpre-start
/post-start
およびpre-stop
/post-stop
コマンドを作成できます。
さらに、プロセスが実行されているかどうかを確認する必要があると読みました。 この質問 を確認し、pre-start
セクションを使用することもできます。
新興企業を作成する必要があります。 http://upstart.ubuntu.com/getting-started.html
Upstartは、古き良きSysV initスクリプトに比べて(IMHO)災害です。 Upstartは、追加された作業にほとんど利点がなく、はるかに多くの労力を費やしています。そうは言っても、私は明らかなことを述べるために私に任務に連れて行くいくつかの新興の擁護者がそこにいると思う。