0
獲得最後一個命令運行的PID我使用下面的代碼到另一臺機器上啓動一個命令:上的其他機器
#!/bin/bash
/usr/bin/rsh -n $Host_Name "cat asdf.txt &"
,我試圖通過以下獲得cat命令的PID:
/usr/bin/rsh -n $Host_Name pid="$!"
但是當我回顯$ pid時,它只是空白。我做錯了什麼?有沒有一種更簡單的方法來獲取在不同機器上執行的最後一個命令的PID?
感謝
我覺得有一些問題(但我可能是錯的)。首先,每次調用rsh都應該遠程產生一個新的shell,這意味着$!變量將不會在新shell中設置,並且前一個shell的變量將會丟失。其次,通過你使用的語法,IIRC你告訴你的本地shell將pid設置爲本地$!在執行rsh命令之前。你應該做'pid = $(/ usr/bin/rsh -n $ Host_Name'echo $!')'',但是記住如果它產生一個新的遠程shell實例,它也會返回空白。 –