以下這些憑直覺想到的答案都達不到這個效果:
rsh machine command &或
rsh machine 'command &'例如, 執行 rsh machine 'sleep 60 &' 這個命令時,我們可以觀察到:rsh 並 不會立刻結束,而是等到遠方的 sleep 命令完成以後才結束,即使我們在遠 方使用背景方式執行此命令。所以要怎樣才能讓 rsh 在 sleep 命令啟動後立 刻結束呢? 答案如下-
如果您在遠端使用csh:
rsh machine -n 'command >&/dev/null </dev/null &'如果您在遠端使用 sh:
rsh machine -n 'command >/dev/null 2>&1 </dev/null &'為什麼呢?因為 "-n" 會把 rsh 的 stdin 接到 /dev/null,因此您可以在本地 機器以背景方式執行整個 rsh 命令。不管是使用 -n 選項或者在指令結尾使 用 "/dev/null",其效果都是一樣的。此外,在遠端機器使用的輸出入轉向(寫 在單引號內的部份)會讓 rsh 認定此次連線可逕行結束(因為已無其他輸 入資料)。
附註: 任何檔案都可以用於遠端機器的輸出入轉向,而不僅限於 /dev/null。
在許多狀況下,這個複雜的命令當中有很多部份都是非必要的。
如何將遠端的ps結果回傳後顯示process id
rsh 10.1.100.113 -n 'ps -ef | grep fglrun ' < /dev/null | awk ' {print $2} '