Pages : 1
#1 Le 22/11/2012, à 12:49
- xana02
Bash screen lancer une commande
Bonjour , je dispose d'un script de restart je voudrais faire fonctionné dans un screen
Le script de restart fonctionne lui mais j'ai essayé de rajouté quelque ligne pour qu'il se lance dans un screen mais cela ne fonctionne pas le screen se lance mais pas se qu'il y a dans
invocation .
#!/bin/bash
# Restart script by moi
invocation()
{
SCREEN_NAME="sonde"
count=1
while [ $count ]
do
# If no screen under that name was found...
if [[ `screen -ls | grep $SCREEN_NAME` == "" ]]
then
# Nothing was found running ; restart the server.
/root/sonde/./scrsonde
fi
done
}
screen -dmS restart $invocation
Merci
Hors ligne
#2 Le 23/11/2012, à 11:50
- tiramiseb
Re : Bash screen lancer une commande
En argument à screen, il faut donner une "vraie" commande, car il s'agit d'une nouvelle instance à lancer, etc, donc il n'a pas accès aux fonctions dans ton script. Par ailleurs soit tu ne montres pas l'intégralité de ton script, soit tu as plein de problèmes dans ton approche de ton besoin...
Voici le script que je te propose en remplacement :
#!/bin/sh
screen -ls | grep -q $SCREEN_NAME
if [ $? != 0 ]
then
screen -dmS sonde /root/sonde/scrsonde
fi
Dernière modification par tiramiseb (Le 23/11/2012, à 11:51)
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#3 Le 23/11/2012, à 15:40
- xana02
Re : Bash screen lancer une commande
Oui mais du coup tu lance la commande /root/sonde/scrsonde dans le screen sonde
En faite je voudrais lancer la boucle "sonde" pour qu'il le relance automatiquement car j'ai mon programme qui tourne dans sonde qui bug ,
J'arrive a le faire marché dans un screen avec screen -dmS sonde /root/sonde/./scrsonde
, mais se que je veux faire c'est "économisé" des fichier, lancer se que j'ai dans invocation dans un screen mais je pense pas que sa soit possible
Hors ligne
#4 Le 23/11/2012, à 15:44
- tiramiseb
Re : Bash screen lancer une commande
Houla attend alors j'ai pas bien tout compris.
Screen c'est pour pouvoir prendre la main à tout moment sur un programme en cours de fonctionnement (entrée clavier, sortie écran, tout ça) : est-ce quelque chose que tu veux ?
Ton besoin premier, c'est que ton programme, s'il est planté, se relance tout seul, c'est ça ?
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne