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.