Savoir si un processus est actif / erreur if:else [Résolu]

cs_Cactuz 15 Messages postés vendredi 21 décembre 2007Date d'inscription 21 février 2009 Dernière intervention - 3 déc. 2008 à 19:10 - Dernière réponse : bubbathemaster 342 Messages postés dimanche 26 janvier 2003Date d'inscription 25 mars 2009 Dernière intervention
- 4 déc. 2008 à 05:34
Bonsoir à tous.
 Je cherche actuellement à créer un programme qui relancerai un processus si il s'est arrêté pour une raison quelconque. Il faut donc arriver à récupérer son nom dans la liste des process, et si il n'y est pas, le relancer. J'y suis parvenu, mais malheureusement j'ai cette erreur: Terme d'expression non valide 'else'    Je ne comprends pas trop.

 De plus, j'aurais besoin de vos conseils, car je ne sais pas si il faudrait effectuer cette action en boucle, ou seulement toutes les 30 secondes? Qu'en pensez vous?

Voici mon code, je débute donc c'est pas très beau ^^.

            static void Main() {
                if (Process.GetProcessesByName("Start").Length > 1)
                {
                    label1.Text = ("Server On");
                };
                else (Process.GetProcessesByName("Start").Length < 1);
                {
                    Process processus = new Process();
                    Process.Start(new ProcessStartInfo(@"./start.exe"));
                    label1.Text = ("Server On");
                };

Merci beaucoup!
Afficher la suite 

5 réponses

Répondre au sujet
xmox667 357 Messages postés jeudi 8 juin 2006Date d'inscription 26 décembre 2011 Dernière intervention - 3 déc. 2008 à 19:45
+3
Utile
Salut,
Je viens de m'apercevoir que j'avais oublié de supprimer un ";" à la fin du "else"

static void Main() {
                if (Process.GetProcessesByName("Start").Length > 1)
                {
                    label1.Text = ("Server On");
                }
                else (Process.GetProcessesByName("Start").Length < 1)
                {
                    Process processus = new Process();
                    Process.Start(new ProcessStartInfo(@"./start.exe"));
                    label1.Text = ("Server On");
                }
}

A+
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de xmox667
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 3 déc. 2008 à 20:29
+3
Utile
Salut,

static void Main() {
    if (Process.GetProcessesByName("Start").Length > 1)
    {
        label1.Text = ("Server On");
    }
    else // <strike>(Process.GetProcessesByName("Start").Length < 1)
</strike>    {
       // <strike>Process processus = new Process();
</strike>        Process.Start(new ProcessStartInfo(@"./start.exe"));
        label1.Text = ("Server On");
    }
}
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Lutinore
cs_Cactuz 15 Messages postés vendredi 21 décembre 2007Date d'inscription 21 février 2009 Dernière intervention - 3 déc. 2008 à 20:14
0
Utile
Merci beaucoup pour tes réponses, voici mon code:

        private void Form1_Load(object sender, EventArgs e)
        {
if (Process.GetProcessesByName("Start").Length > 1)
                {
                    label1.Text = ("Server On");
                }
                else (Process.GetProcessesByName("Start").Length < 1)
                {
                    Process processus = new Process();
                    Process.Start(new ProcessStartInfo(@"./start.exe"));
                    label1.Text = ("Server On");
                }
}

Mais il me demande de mettre un ; à la fin de la ligne else. Je ne comprends pas trop, pourtant j'ai révisé la syntaxe...

Merci pour vos éclaircissements.
Commenter la réponse de cs_Cactuz
cs_Cactuz 15 Messages postés vendredi 21 décembre 2007Date d'inscription 21 février 2009 Dernière intervention - 3 déc. 2008 à 21:19
0
Utile
Ah ou bien sur pas besoin de preciser le else, sachant que c'est que si if ne convient pas. Un grand merci à vous deux. Resolu =D
Commenter la réponse de cs_Cactuz
bubbathemaster 342 Messages postés dimanche 26 janvier 2003Date d'inscription 25 mars 2009 Dernière intervention - 4 déc. 2008 à 05:34
0
Utile
Je te conseille de faire un petit tour chez tonton Kernighan et Ritchie avant d'aller plus loin:

http://www.amazon.fr/langage-C-Norme-ANSI/dp/2100487345/ref=sr_1_1?ie=UTF8&qid=1228365157&sr=8-1

Commencer à programmer sans être passé par là, c'est une hérésie ;o
Commenter la réponse de bubbathemaster

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.