2
我在網上看到過類似的問題,但答案都不起作用,希望新的請求能夠揭示答案。運行遠程命令後,ssh會話不會關閉
我想在Linux盒子上運行遠程查詢,我可以做這個問題是我保持連接到遠程服務器。
我在腳本中設置了-x,所以我正在看輸出。我的腳本 一部分是低於
ssh -tt $host.digital.domain.com << EOF
sudo su - foo
/apps/scripts/bar.sh
exit
EOF
腳本是正確
[[email protected] ~]$ [[email protected] ~]$ + rm -f '/tmp/files*'
但是運行的窗口,然後給我的提示在遠程計算機上,而不是退出的。
[[email protected] ~]$
我使用-tt開關,我居然也得到了TTY錯誤 我也試圖殺死PID但這並不工作要麼。 進展腳本的唯一方法是讓我'ctrl c'退出遠程會話。
我已經嘗試在一行上運行ssh,但是這沒有奏效,可能是由於sudo,我不確定。
任何建議將是偉大的。
謝謝
嗨fbohorquez,我曾經嘗試這樣做的它仍然保留了會議。 SSH -tt $ host.digital.domain.com << EOF 須藤蘇 - 富 /apps/scripts/copy_files.sh 出口 出口 退出 EOF + RM /應用/腳本/ files2copy +出口0 你在/ var/spool/mail/ams中有新郵件 [foo @ host〜] $被信號2殺死。 – user3615267
因此,它與運行腳本以及完成所需時間有關。如果腳本不需要運行,那麼出口完美工作--- [user @ host1〜] $ [foo @ host1〜] $ [foo @ host1〜] $ [user @ host1〜] $連接到host1.digital.domain .com關閉。但是,如果需要腳本,那麼會話保持打開狀態。 [foo @ host2〜]所以我需要在運行腳本和退出命令之間制定一個延遲 – user3615267
您可以使用「sleep」延遲運行腳本和退出命令之間的延遲。您也可以使用「等待」等待一個過程完成。 也許你可以在其他bash會話中使用「setsid」運行腳本,或者在退出時不要發送SIGHUP信號。 – fbohorquez