En iyi yöntem, işlemi bir terminal çoklayıcıda başlatmaktır. Alternatif olarak, HUP sinyalini almayan işlemi de yapabilirsiniz.
Bir terminal çoklayıcı , "gerçek" terminalden bağımsız çalışan "sanal" terminaller sağlar (aslında bugün tüm terminaller "sanaldır", ancak bu başka bir gün için başka bir konudur). Sanal terminal, ssh oturumunuzla gerçek terminaliniz kapalı olsa bile çalışmaya devam edecektir.
Sanal terminalden başlatılan tüm işlemler o sanal terminalle çalışmaya devam edecektir. Sunucuya tekrar bağlandığınızda sanal terminale yeniden bağlanabilirsiniz ve her şey geçen zaman dışında hiçbir şey olmamış gibi olacaktır.
İki popüler terminal çoklayıcı ekran ve tmux'tur .
Ekranın dik bir öğrenme eğrisi var. İşte kavramı açıklayan şemalar ile iyi bir öğretici: http://www.ibm.com/developerworks/aix/library/au-gnu_screen/
HUP terminali kapatıldığında sinyal (ya da SIGHUP) tüm alt süreçlere terminal tarafından gönderilir. SIGHUP aldıktan sonra ortak eylem sonlandırmaktır. Böylece ssh oturumunuz kesildiğinde tüm işlemleriniz sona erecek. Bundan kaçınmak için işlemlerinizi SIGHUP alamazsınız.
Bunu yapmanın iki kolay yolu nohup
ve disown
.
Nasıl nohup
ve nasıl disown
çalıştığı hakkında daha fazla bilgi için bu soruyu ve yanıtı okuyun: https://unix.stackexchange.com/questions/3886/difference-between-nohup-disown-and
Not: İşlemler çalışmaya devam etse de, artık hiçbir terminale bağlı olmadıkları için onlarla etkileşime geçemezsiniz. Bu yöntem temel olarak, bir kez başlatıldığında artık kullanıcı girişi gerektirmeyen uzun süren toplu işlemler için kullanışlıdır.
screen
size çok daha fazla seçenek sunar, ancakauthorized_keys
insanların bir komut dosyasını uzaktan çalıştırmasına izin vermek için kullanıyorsanızssh
,nohup
seçenek, komut dosyası içinssh
onları başlatmak için kullanılan oturumdan daha uzun süren işlemleri başlatmak için güzel ve basit bir yoldur. .