Linux'ta Arka Planda Jar Çalıştır


12

Sonsuza kadar çalışan bir kavanoz var (soket dinleme iplik ile sonsuz döngü) ve her zaman arka planda çalıştırmak gerekir. Bir örnek şöyle olabilir: "java -jar test.jar" Bunu nasıl yapabilirim? Şimdiden teşekkürler!

Yanıtlar:


8

birkaç yol:

  1. &arkada ekleme . Ancak, programı başlatan terminali kapatırsanız, program yine de sonlandırılacaktır.

  2. Bir screenoturum başlatın ve içindeki programı başlatın; screenoturumu ayırabilir ve terminali kapatabilirsiniz. Daha sonra oturuma tekrar bağlanabilir ve kendinizi sanki oradaymış gibi tekrar konsolda bulabilirsiniz. Ancak, programı çalıştırmadan önce bir ekran oturumu başlatmanız gerekir ve bunu unutursanız, bu konuda hiçbir şey yapamazsınız.

  3. disownKabuğunuzdan iş kontrolünü kullanın . Bu, görevi tty'nizden ayırır ve tty kapatıldığında programınız sonlandırılmaz. Ancak, itibarsız bir işi yeniden kurmanın bir yolu olduğunu sanmıyorum.


13

Her zaman oturumdan çıkmak için uzun çalışma süreleri için kullandığım bir komut satırı istemi "nohup" dır.

nohup java -jar test.jar &

& Önemlidir, böylece başka bir kabuk çalıştırabilirsiniz. Bunun yeniden başlatmalarla devam etmeyeceğine inanıyorum.


7

"Her zaman" ile, makine önyüklendiğinde başlatıldığı anlamına gelirse, önyükleme zamanı komut dosyalarının bir parçası olarak başlatmanız gerekir. Bunu yapmanın kirli yolu

java -jar test.jar> / dev / null 2> & 1 &

/etc/rc.local (veya / dev / null yerine favori günlük dosyanızla değiştirin).

Daha iyi, uygun çalışma seviyelerinde başlayan bir init.d betiği yapmak daha iyi olurdu (örneğin, 0, 1 veya 6 çalışma seviyesinde istemeyebilirsiniz). Bu şekilde, eğer ölürse otomatik olarak yeniden başlatılmasını ve geçici olarak durdurmak için daha hoş bir arayüze sahip olmasını sağlayabilirsiniz.

Http://www.howtoforge.com/forums/archive/index.php/t-3628.html adresindeki küçük örnekler

Http://developer.novell.com/wiki/index.php/Writing_Init_Scripts adresinde büyük açıklama


başka bir olasılık, sadece kullanıcı izinleriyle çalışmasını istiyorsanız, onu cron'a koymak ve çalışma zamanı olarak '@reboot' kullanmaktır. Ayrıntılar için bkz. 'Man 5 crontab'.
pjz

3
java -jar test.jar &

& İşleci işlemi arka planda çalışmaya zorlar, daha sonra 'top' komutunu çalıştığını görmek için çalıştırabilirsiniz.


1

Linux'ta arka planda herhangi bir görevi komut satırının sonuna bir '&' sembolü ekleyerek çalıştırabilirsiniz, örn.

java -jar test.jar &


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.