2012-04-25 15 views
7

Rails ortamında 24/7 çalışması gereken iki komut dosyası var. Uzak bir sunucu üzerinde çalışıyorum, bu yüzden ssh kullanarak komut dosyalarını başlatmam gerekiyor, yani ssh pencerelerini her zaman açık tutmam gerekiyor.Ekranı kullanmadan arka planda ruby ​​komut dosyasını çalıştır

Bu komut dosyalarını arka planda çalıştırmanın basit bir yolunu arıyorum, böylece ssh bağlantısını kapattığımda iptal edilmez.

screen kullanmak istemiyorum. Bunu halletmenin daha basit bir yolu olmalı bence. Orada değil mi

+1

Tanrıya ve/veya montana baktın mı? – d11wtq

cevap

20

Ben en temel çözüm wo düşünüyorum nohup olmak ULD:

nohup myscript &> /dev/null & 
+0

evet bu mükemmel ve çıkış yolu ile çıkış dosyasına yönlendirme yapabiliriz: nohup ruby ​​myscript.rb> myscript.log & Sadece ruby ​​betiği ile denedim ve ayrıca komut ile çalışıp çalışmadığını kontrol edebilirsiniz: ps - fu kullanıcı adı –

2

Daemons'u kontrol edin. Bir betiği kontrol edilebilir bir programa dönüştürmek için bir araç takımı.

4

Bir komut dosyası inkâr edebilirsiniz:

ruby script.rb &! 

STDOUT/STDERR hala geçerli kabuk bağlıdırlar, fakat ruby süreç artık kabuğun bir çocuk değil, yani Terminali kapatırsan öldürmeyeceksin.

İlgili konular