起動時にJARを起動するインストール機能を実装する必要があるJavaアプリケーションがあります。
レジストリにREGファイルを入力することでWindowでこれを行うことができますが、UNIXプラットフォームでこれを行うにはどうすればよいですか?方法が異なる場合はLinuxとMac。
LinuxとMacにはシステムスタートアップフォルダがありますか?
これは、システム環境設定などではなく、プログラムで行う必要があることを忘れないでください。
起動時にJARを起動するインストール機能を実装する必要があるJavaアプリケーションがあります。
レジストリにREGファイルを入力することでWindowでこれを行うことができますが、UNIXプラットフォームでこれを行うにはどうすればよいですか?方法が異なる場合はLinuxとMac。
LinuxとMacにはシステムスタートアップフォルダがありますか?
これは、システム環境設定などではなく、プログラムで行う必要があることを忘れないでください。
/etc/rcN.d/
Linux では、適切なディレクトリ (N は「実行レベル」を表す 0 ~ 6 の数字) にスクリプトを追加するのが従来の方法です。それがまだ推奨される方法かどうかはわかりませんが、通常はまだサポートされています。これは、他の主流の Unix バリアント (Solaris、HP-UX、AIX) のマイナーなバリエーションでも機能します。
Mac では、もっと頑張らなければなりません。ファイル/etc/rc.common
とは関連/etc/rc.imaging
していますが、ディレクトリ/etc/rc.netboot
はありません。スクリプトと別/etc/rcN.d
のものもあります。入力すると、次のことがわかります。rc
rc.local
man rc
説明
rc.local
は現在サポートされておらず、launchd(8) に置き換えられました。これは、launchctl(1) ブートストラップ サブコマンドを介して自身をブートストラップし、標準の場所から launchd(8) ジョブを読み込みます。関連項目
launchd(8), launchctl(1)
したがって、launchctl
とlaunchd
、特にを調査する必要がありますlaunchctl
。
Mac ではlaunchd
、Linux ではinit.d
. それらは構成ファイルです。
これは、ubuntuで行う方法です。
最初に、Java アプリを実行するための bash スクリプトを作成します。
#!/bin/bash
java -jar "helloworld.jar"
この場合は「HELLOWORLD」という名前で /etc/init.d に保存します。
スクリプトを実行可能にする必要があるため、実行する必要があります
chmod +x HELLOWORLD
最後に、起動時に実行するようにします
update-rc.d HELLOWORLD defaults