Jawaban:
Sepertinya, Anda menjalankan Debian atau Ubuntu.
Jika Anda menggunakan sistem terbaru systemd , buat saja systemd.unit file, disebut /etc/systemd/system/java-test-app.unit
dalam contoh ini.
[Unit]
Description = Java test app
After = network.target
Wants = network.target
[Service]
Type = oneshot
User = myuser
Workdir = /home/myuser
ExecStartPre = javac Testapp.java
ExecStart = java Testapp
[Install]
WantedBy = multi-user.target
Saya sarankan untuk membuat pengguna terpisah untuk aplikasi (disebut myuser
dalam contoh ini), karena menjalankan aplikasi sebagai root biasanya bukan ide yang baik.
Saya juga menyarankan untuk memindahkan aplikasi dari distribusi Java sebagai direktori /usr/lib
biasanya dikelola oleh sistem pengemasan dan bukan oleh pengguna biasa.
Setelah membuat file unit, cobalah untuk memastikan itu berfungsi.
systemctl daemon-reload
systemctl start java-test-app
Untuk membuat aplikasi untuk memulai setelah boot sistem.
systemctl enable java-test-app
Anda dapat memeriksa eksekusi aplikasi dengan
systemctl status java-test-app
Jika Anda ingin menjalankan aplikasi sebagai root, perbarui saja linec yang sesuai di file unit.