我試圖通過使用 Net :: SSH連接遠程SSH服務器ruby。它對我通過 提供的所有命令都正常工作腳本,我能夠成功讀取命令 的輸出。但是,當我使用下面的命令時,它陷入了 SSH.exec!(cmd)並且控制不會從行中返回。只有當我在命令行中點擊Ctrl + c時,腳本纔會結束。該命令 是./wcsadmin.sh開始 - >這是用來啓動我的 申請的過程中遠程服務器使用Net :: SSH遠程SSH命令執行在特定命令中掛起
請找我的Ruby腳本的下面的代碼片段:
Net::SSH.start(host, username, :password => password) do |ssh|
puts 'before exit'
output = ssh.exec!(/opt/wcsadmin.sh start)
puts 'Executed command'
的當我手動執行它的命令的輸出是:
[根@測試二進制]#./wcsadmin.sh啓動
啓動網絡控制系統...
這可能需要幾分鐘的時間...的stty:標準輸入:無效的參數
網絡控制系統成功啓動。
啓動SAM守護進程...完成。啓動DA守護......開始DA系統日誌 守護......開始
如果我使用ssh.exec(「./ wcsadmin.sh啓動」),唯一的區別是上述輸出 是越來越打印,但仍該程序永遠不會結束.I 需要通過按ctrl + c手動結束它。當我在谷歌搜索我 能找到可以使用
nohup命令( 'nohup的/opt/wcsadmin.sh開始> /tmp/teststartserver.log 2> & 1')
到跳過掛斷信號,並嘗試相同。這也寫輸出到teststartserver.log但 被絞死。任何人都可以請幫我解決這個問題?
在此先感謝!
感謝,米娜