Ssh üzerindeki nohup geri dönmeyecek


11

Yapmaya çalışıyorum

[me@myPc]$ ssh me@server "nohup myBashScript.sh &"

Amacım işlemi sunucuda başlatmak ve hemen geri dönmek.

Çalışmıyor: İş sunucuda başlatıldı, ancak yine de başka bir komut istemeden önce myPc ve bash çıktısını tamamlamayı bekliyorum.

Neden ? Öyle değil! Bundan kaçınmanın bir yolu var mı?

  • myPc: RHEL6.2
  • sunucu ubuntu 10.04ve
  • her iki koşu openssh

Yanıtlar:


12

Giriş veya çıkış hala açık olduğu sürece, ssh bağlantıyı açık tutacaktır. Bunu çözmek için giriş ve çıkışın açık olmadığından emin olun.

Örneğin, ssh -nçıktınızı kullanın ve yönlendirin:

ssh -n me@example.com "nohup myscript.sh >/dev/null 2>&1 &"

Bana hala myscript.shçıktı vermek istiyorum, ancak komut dosyası yapıldıktan sonra ssh oturumu hala sona erecek olursa ne olur ? Benim durumumda, komut dosyasının kendisi nohup işlemini başlatır, sonra geri döner. Bunu ssh -Tyapmama yardımcı olacak izlenim altındaydım .
Gauthier

@Gauthier Sonra komut dosyasını nohup olmadan çalıştırın.
Michael Hampton

Yaparım. Komut dosyası nohup ile diğer komutları başlatır ve & sonra sonlandırır. Ama ssh geri dönmez. Komut dosyasında çağrılan komutlar stdout'u dosyalara yönlendirir. Oh, ama stderr ve stdin değil, neden olabilir?
Gauthier

İşte aldın! Giriş ve çıkış yeniden yönlendirilmelidir.
Michael Hampton

Anlamadığım şey, aslında giriş yapıp bir tty alırsam, nohup & komutlarını başlatan komut dosyasını çalıştırır, sonra ssh oturumundan çıkmaya izin verilir. Açık giriş ve çıkış olduğu konusunda şikayette bulunmaz. ssh -tTaklit etmesi gereken bu değil mi?
Gauthier
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.