Java dosyasının kapandığındada otomatik çalıştırılması?

Başlatan deeperhkn, 13 Şubat 2011 - 10:20:53

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

deeperhkn

Aradım ama bulamadım server üzerinde çalışan bir java uygulamam var nedenini bilmediğim bir durumdan dolayı kapanıyor.
Bu java uygulaması bir sh betiği çalıştırılarak kullanılıyor.
Sürekli konturol edilerek çalışmadığında otomatik tekrar başlamasını nasıl sağlayabilirim.

ironic

Yeni bir betik yardımıyla uygulamanın belli aralıklarla çalışıp çalışmadığına bakılarak işlem yapılabilir ama öncelikle uygulama kapanma nedenine odaklansak daha doğru olur. Uygulama hata kaydı tutuyorsa, çıktılar incelenebilir. 

deeperhkn

Hata kaydı tutulmuyor yada ben bilmiyorum.
Sistemimi webmin ile yönetiyorum çalışan süreçler sekmesinde uygulama çalıştığında
java -Dsun.net.inetaddr.ttl=0 -jar lib/csproxy.jar şeklinde çıkıyor.
Bahsettiğiniz betik nasıl bişey olabilir ve nasıl kullanabilirim.

meyhem

Küçük bir sonsuz döngüye alınarak yapılabilir mi?

#!/bin/bash

while [ 1 = 1 ]
do
  top #çalıştırmak istediğimiz komut
done
echo
exit 0


Ama sh betiği ile çalışan komutları en azından çalıştığında devam edecek program komutlarını buraya alman gerek. sh betiği hemen çıkacağı için olmaz sanırım
yazdığım ilk bash script sadece mantık olarak göstermek istemiştim.

deeperhkn

-bash: ./start.sh: /bin/bash^M: bad interpreter: No such file or directory

Yazdığınız gibi bir sh oluşturup içine verdiğiniz komutları ekledim fakat yukarıdaki hatayı veriyor.

muzir

Sunucu bilgilerini yani uygulamanın hangi sunucu üzerinde çalıştığını (Apache,Tomcat)  ve karşılaştığın diğer hata mesajları hakkındaki bilgileri de aktarabilir misin? Son olarak meyhem'in yazmış olduğu script iiçin çalıştırılmak istediğin dosyaya gerekli yetkilendirmeyi verdin mi?(Aslında aldığın hata onla pek ilgili değil gibi ama kontrol anlamında soruyorum "chmod +x start.sh")
Bir Tellioğlu asla geç kalmaz...

deeperhkn

Sistem vps sunucu webmin ile kullanıyorum yapmak istediğim sadece verdiğim java uygulamasını konturol edecek çalışmıyorsa çalıştıracak bir şey.
Apache kurulu ama bunun bir fonksiyonu varmı çok bilmiyorum.
Ben son kullanıcı sayılırım linux bilgimde buraya kadar:)

meyhem

10 saniye ara ile çalışıp çalışmadığına bakıyor:

#!/bin/bash

j=`ps -ef | grep -v grep | grep programin_adi`

while [ 1 ]
do
if [ "$j" = "" ]
then
  sh java_programini_calistiran_betik_adi.sh
  echo calismiyor
else
  echo calisiyor
fi
sleep 10
done
echo
exit 0


Gerkeli yerleri kendine göre değiştirirsin. Bunu çalıştırdığın betik ile aynı yere kaydet.

nohup sh bu_betigin_adi.sh >& /dev/null &

komutu ile betiğin konsolu kapatsan dahi çalışmasını sağlayabilirsin.