[問題] shell script 使用 ssh 下指令回不來

看板Linux作者 (阿朱哥)時間12年前 (2013/08/30 18:04), 編輯推噓3(305)
留言8則, 3人參與, 最新討論串1/1
不知道標題該怎麼下 我在 A 機器寫了一個 shell script 要去 B 機器執行 kill node 然後再執行 A 機器上寫的是 ssh 192.168.0.5 "cd /home/node/;./nd.sh $2 &" B 機器上的 nd.sh #!/bin/bash cd /home/node/ /usr/local/bin/node $1/node.js >/dev/null & 但是在 A 機器上執行 shell script 後會卡在這一句,想請教有正確的寫法嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.33.55.125

08/30 20:43, , 1F
試試看改成ssh -f 192.168.0.5 cd /home/node/;
08/30 20:43, 1F

08/30 20:44, , 2F
沒有-f我印象中會等到你的command跑完你的畫面才會跳
08/30 20:44, 2F

08/30 20:44, , 3F
回到你原來的位置(不然就要等command執行完)
08/30 20:44, 3F
感謝,加了 -f 後真的就不會卡住了

08/30 21:15, , 4F
-f 只是把 ssh 跑在 A 的背景.
08/30 21:15, 4F

08/30 21:16, , 5F
試試看 ./nd.sh $2 >/dev/null 2>&1 &" 看看.
08/30 21:16, 5F
剛剛去主機上看,真的是跑在A的背景Orz 然後從晚上卡到現在........ 然後你的方法是可以的 非常感謝^^ 是說我前面有試過 ./nd.sh $2 >/dev/null &" 但是還是失敗 ※ 編輯: zhucc 來自: 114.33.6.214 (08/31 02:21)

08/31 21:18, , 6F
因為輸出有 stdout 和 stderr, 你只把 stdout 丟掉,
08/31 21:18, 6F

08/31 21:19, , 7F
還是把 stderr 留給 ssh 接收, 所以 ssh 會卡在那.
08/31 21:19, 7F

09/01 01:39, , 8F
瞭解了、感謝樓上^^
09/01 01:39, 8F
文章代碼(AID): #1I86umWe (Linux)
文章代碼(AID): #1I86umWe (Linux)