我想在後臺啓動遠程計算機上的作業並獲取其PID,以便稍後可以殺死它。到目前爲止我所得到的是以下幾點:獲取在後臺遠程啓動的作業的pid
#!/bin/bash
IP=xxx.xxx.xxx.xx
REMOTE_EXEC="ssh $IP -l root"
# The following does NOT work, I am trying to get the PID of the remote job
PID=`$REMOTE_EXEC 'vmstat 1 1000 > vmstat.log & ; echo $!'`
# Launch apache benchmark
ab -n 10 http://$IP/
$REMOTE_EXEC "kill $PID"
不幸的是,它不起作用。我得到一個
bash: syntax error near unexpected token `;'
但我不知道什麼是正確的語法將是。
只需: '的vmstat 1 1000> vmstat.log&; echo $!` 甚至不在本地。看看它。 – 2009-06-25 11:11:16
是的,我知道。所以我需要修復'vmstat 1 1000> vmstat.log&; echo $!'或者我需要通過其他一些機制來獲得遠程作業的PID。 – davitenio 2009-06-25 11:16:15
@davitenio不是PID最終成爲本地ssh命令的PID,而是遠程vmstat命令? – 2014-03-17 18:19:43