Savoir si un processus est actif / erreur if:else

Résolu
cs_Cactuz Messages postés 15 Date d'inscription vendredi 21 décembre 2007 Statut Membre Dernière intervention 21 février 2009 - 3 déc. 2008 à 19:10
bubbathemaster Messages postés 339 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 25 mars 2009 - 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!

5 réponses

xmox667 Messages postés 357 Date d'inscription jeudi 8 juin 2006 Statut Membre Dernière intervention 26 décembre 2011 4
3 déc. 2008 à 19:45
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+
3
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 42
3 déc. 2008 à 20:29
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");
    }
}
3
cs_Cactuz Messages postés 15 Date d'inscription vendredi 21 décembre 2007 Statut Membre Dernière intervention 21 février 2009
3 déc. 2008 à 20:14
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.
0
cs_Cactuz Messages postés 15 Date d'inscription vendredi 21 décembre 2007 Statut Membre Dernière intervention 21 février 2009
3 déc. 2008 à 21:19
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bubbathemaster Messages postés 339 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 25 mars 2009 4
4 déc. 2008 à 05:34
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
0