java -jar abc.jar
Terminalde yazarak çalıştırabileceğim bir Java çalıştırılabilir programım var . Hizmet olarak nasıl çalıştırabilirim? Yazarak gibi bir hizmet olarak çalıştırmak istiyorum service abc start
.
java -jar abc.jar
Terminalde yazarak çalıştırabileceğim bir Java çalıştırılabilir programım var . Hizmet olarak nasıl çalıştırabilirim? Yazarak gibi bir hizmet olarak çalıştırmak istiyorum service abc start
.
Yanıtlar:
14.04'te olduğundan emin ol. Ubuntu 16.04 (ve üstü), start-up değil, systemd kullanır.
Upstart betiği, içine yerleştirilen /etc/init/
ve biten bir betik dosyasıdır .conf
.
2 bölüm gerektirir: biri ne zaman başlanacağını belirtmek için diğeri ise yürütmek için komutla.
Örnekle başlamak için en kolay komut dosyası:
# myprogram.conf
start on filesystem
exec /usr/bin/java -jar /path_to/program
Altında kök olarak düzenlendi /etc/init/myprogram.conf
.
Komut dosyanız birden fazla komut satırı gerektiriyorsa script
, exec
satır yerine bölümü kullanın :
# myprogram.conf
start on filesystem
script
/usr/bin/java -jar /path_to/program
echo "Another command"
end script
Hizmetinizde bash tamamlamayı etkinleştirmek için, /etc/init.d
klasöre bir link ekleyin :
sudo ln -s /etc/init/myprogram.conf /etc/init.d/myprogram
Sonra başlatmayı ve durdurmayı deneyin:
sudo service myprogram start
Başlangıçtaki yemek kitabına göre, yürütülecek pre-start
/ post-start
ve pre-stop
/ post-stop
komutlarını oluşturabilirsiniz .
Ayrıca, bir işlemin çalışıp çalışmadığını kontrol etmek istediğinizi okudum. Bu soruyu kontrol edin ve belki pre-start
bölümü kullanın .
sudo chmod +x /etc/init.d/myprogram
. DİKKAT: Yanıtladığınız yöntem Ubuntu 16.04'te çalışmıyor!
Bir başlangıç oluşturmalısınız. http://upstart.ubuntu.com/getting-started.html
Başlangıcı (IMHO) iyi ol 'SysV init betikleri ile karşılaştırıldığında bir felakettir. Upstart, eklenen işe biraz daha fazla ilave olarak, FAR ile daha fazla çaba gösteriyor. Bununla birlikte, bariz şekilde belirttiğim görev için beni işe alacak bir kaç başlangıç savunucusu olacağından şüpheleniyorum ;-)