[Bash] Le processus existe ?

jalfr Messages postés 17 Statut Membre -  
jalfr Messages postés 17 Statut Membre -
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.
Configuration: Debian Sarge 3.1

1 réponse

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    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
    1. jalfr Messages postés 17 Statut Membre 1
       
      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