Saya perlu menjalankan java jar di server untuk berkomunikasi antara dua aplikasi. Saya telah menulis dua skrip shell untuk menjalankannya, tetapi begitu saya memulai skrip itu, saya tidak dapat mematikan / menghentikan proses. Jika saya menekan ctrl+ Catau menutup konsol, server akan mati. Adakah yang bisa membantu saya cara mengubah skrip ini untuk dijalankan sebagai server normal?
#!/bin/sh
java -jar /web/server.jar
echo $!
#> startupApp.pid
shell
unix
executable-jar
Bernad Ali
sumber
sumber
nohup
harus selalu dikombinasikan dengan pengalihan stdout dan stderr secara eksplisit - jika tidak, Anda tidak dapat mengontrol ke mana perginya log, dan berakhir dengan pembuatan yang jeleknohup.out
di direktori mana pun asal skrip ini.Systemd yang sekarang berjalan di sebagian besar distro
Langkah 1:
Temukan layanan yang ditentukan pengguna milik saya
/usr/lib/systemd/system/
Langkah 2:
Buat file teks dengan nama editor teks favorit Anda
whatever_you_want.service
Langkah 3:
Masukkan Template berikut ke file
whatever_you_want.service
Langkah 4:
Jalankan layanan Anda
sebagai pengguna super
sumber
Jika Anda menggunakan Ubuntu dan memiliki "Pemula" ( http://upstart.ubuntu.com/ ), Anda dapat mencoba ini:
Membuat
/var/init/yourservice.conf
dengan konten berikut
Sekarang Anda dapat mengeluarkan perintah
service yourservice start
danservice yourservice stop
. Anda dapat mengikuti/var/log/yourservice.log
untuk memverifikasi bahwa itu berfungsi.Jika Anda hanya ingin menjalankan jar dari konsol tanpa memonopoli jendela konsol, Anda dapat melakukan:
sumber
java -jar /web/server.jar > /var/log/yourservice.log 2>&1 &
Jalankan di latar belakang dan tambahkan log ke file log menggunakan yang berikut ini:
sumber