Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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)

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 ?

Hors ligne