Saya memiliki beberapa aplikasi yang harus dijalankan di laptop saya setiap saat.
Saya menggunakan skrip bash untuk memulai aplikasi ini. Dalam skrip saya, saya memiliki loop yang terlihat mirip dengan ini:
while true;
do
xterm
done
Ini menjalankan aplikasi ( xterm
dalam hal ini) dan jika aplikasi macet, loop memulai lagi.
Ini memiliki kelemahan bahwa tidak ada jalan keluar "bersih" dari loop ini. Jadi, bahkan jika tujuan pengguna adalah untuk menutup xterm
, loop memulai lagi.
Apakah ada cara untuk memulai aplikasi dari skrip bash, perhatikan apakah skalanya sedang berjalan, untuk menjalankannya kembali jika skrip macet atau tidak melakukan apa-apa jika pengguna menutupnya dengan benar?
while xterm; do true; done
while ! xterm; do :; done
!
.Dalam
while
kondisi ini Anda dapat menguji apakah status keluarxterm
berhasil atau tidak dengan sesuatu seperti ini:$?
variabel memegang status keluar dari perintah yang terakhir dieksekusi.sumber
Saya akan menyarankan Anda untuk menggunakan.
sampai xterm; jangan gema "program berakhir dengan status $?" ; selesai
Ini akan menjalankan kembali program Anda jika terbunuh.
sumber
Coba gunakan supervisor itu sangat sederhana dan mudah untuk menambahkan program atau skrip untuk dijalankan . Jika Anda sesedikit yang Anda butuhkan
command
dan mungkinexitcodes
di bagian programx untuk mengkonfigurasi.Default
exitcodes
adalah 0,2 sehingga artinya:Secara umum itu yang Anda inginkan: jalankan kembali jika skrip macet atau tidak melakukan apa-apa jika pengguna menutupnya dengan benar (atau skrip berhasil diselesaikan)
coba konfigurasi paling sederhana terlebih dahulu:
Untuk lebih fleksibel lihat konfigurasi File dokumentasi.
sumber