[Bash] Le processus existe ?

Fermé
jalfr Messages postés 17 Date d'inscription samedi 20 janvier 2007 Statut Membre Dernière intervention 11 novembre 2007 - 4 mars 2007 à 16:57
jalfr Messages postés 17 Date d'inscription samedi 20 janvier 2007 Statut Membre Dernière intervention 11 novembre 2007 - 4 mars 2007 à 19:38
Salut à tous !

J'aimerais faire un script BASH qui me permettrais de vérifier que un screen est bien lancé dans les process de ma machine et le cas échéant, lancé une commande pour lancé ce screen.

Comme j'm'y connais pas du tout en BASH, est-ce que quelqu'un peut m'aider ?


Merci,
Julien.

1 réponse

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 898
4 mars 2007 à 18:09
Salut,
#!/bin/bash

pgrep '\bscreen' >/dev/null
if [ "$?" = "0" ]
then
echo -e "Au moins un processus de \"screen\" est déjà lancé."
else
echo -e "Lancement d'un \"screen\"..."
sleep 2
screen
fi
;-))
1
jalfr Messages postés 17 Date d'inscription samedi 20 janvier 2007 Statut Membre Dernière intervention 11 novembre 2007 1
4 mars 2007 à 19:38
Salut !

Merci de ta réponse :)
Mon est souci est que ça marche... mais pas comme je le voudrais ! Le screen est lancé et est visible dans les processus (normal) et pourtant le script le relance... (screen -dmS public)

Voilà comment je l'ai modifié pour mon usage:

#!/bin/bash

pgrep '\bscreen -dmS public' >/dev/null
if [ "$?" = "0" ]
then
echo -e "Le serveur cs publique est lancé !"
else
echo -e "Lancement en cours du serveur cs publique"
sleep 2
screen -dmS public ./hlds_run -game cstrike +maxplayers 18 +map de_dust2 +port 27015 -pingboost 2 +sys_ticrate 500
fi


Merci d'avance !
Julien.
0