看板 Linux 關於我們 聯絡資訊
不知道標題該怎麼下 我在 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
weltschmerz:試試看改成ssh -f 192.168.0.5 cd /home/node/; 08/30 20:43
weltschmerz:沒有-f我印象中會等到你的command跑完你的畫面才會跳 08/30 20:44
weltschmerz:回到你原來的位置(不然就要等command執行完) 08/30 20:44
感謝,加了 -f 後真的就不會卡住了
yvb:-f 只是把 ssh 跑在 A 的背景. 08/30 21:15
yvb:試試看 ./nd.sh $2 >/dev/null 2>&1 &" 看看. 08/30 21:16
剛剛去主機上看,真的是跑在A的背景Orz 然後從晚上卡到現在........ 然後你的方法是可以的 非常感謝^^ 是說我前面有試過 ./nd.sh $2 >/dev/null &" 但是還是失敗 ※ 編輯: zhucc 來自: 114.33.6.214 (08/31 02:21)
yvb:因為輸出有 stdout 和 stderr, 你只把 stdout 丟掉, 08/31 21:18
yvb:還是把 stderr 留給 ssh 接收, 所以 ssh 會卡在那. 08/31 21:19
zhucc:瞭解了、感謝樓上^^ 09/01 01:39