Je voudrais obtenir le PID d'un processus que je démarre via ssh.Récupère le PID du processus nohup via ssh
J'ai un script bash et voici ce que je l'ai écrit:
SSH_COMMAND='ssh'
cmd=`eval $my_cmd`
PROG_CMD="$program $cmd"
$SSH_COMMAND [email protected] "(nohup $PROG_CMD) & echo "'$!'" > prog.pid"
Notez que les variables « programme » et « my_cmd » sont définis dans un fichier JSON (et contiennent, respectivement, mon programme et la commande pour démarrer mon programme).
Mon programme est démarré sur le serveur exactement comme il est censé démarrer mais je n'ai pas le PID correct (c'est-à-dire le PID du programme) dans le fichier prog.pid
.
EDIT: je l'ai fait l'écho de la SSH_COMMAND et je me suis:
ssh [email protected] (my_program args > output.log 2>&1 &) & echo $! > prog.pid
args: arguments de mon_programme
output.log: le fichier journal de mon programme
où le prog.pid devrait dans le répertoire de racine du serveur? –
Non, le prog.pid est situé sur la "machine locale", où je fais la commande ssh. Mais les problèmes ne sont pas ici. J'ai le fichier prog.pid avec un PID écrit à l'intérieur ... c'est juste pas le bon! – klaus
dans la première commande prog.id était à l'intérieur de la commande ssh entre guillemets doubles donc attendu sur –