J'essaie de lancer en arrière-plan un travail sur une machine distante et d'obtenir son PID pour pouvoir le tuer plus tard. Ce que j'ai trouvé jusqu'à présent est la suivante:Lancer à distance le pid d'un travail lancé en arrière-plan
#!/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"
Malheureusement, cela ne fonctionne pas. Je reçois un
bash: syntax error near unexpected token `;'
mais je ne sais pas quelle serait la bonne syntaxe.
simplement: 'vmstat 1 1000> vmstat.log &; echo $! ' ne même pas localement. Jetez un coup d'oeil. –
Oui, je sais. J'ai donc besoin d'un correctif pour 'vmstat 1 1000> vmstat.log &; echo $! ' ou je dois obtenir le PID du travail à distance par un autre mécanisme. – davitenio
@davitenio Le PID ne se termine-t-il pas en tant que PID de la commande ssh locale, et non de la commande vmstat distante? –