Bonjour,
je voudrais savoir comment je peux savoir si un service est installé sous Linux est le démarrer le cas échéant et tout cela en perl.
Le service en question est en fait Mysql.
Merci
Bonjour,
je voudrais savoir comment je peux savoir si un service est installé sous Linux est le démarrer le cas échéant et tout cela en perl.
Le service en question est en fait Mysql.
Merci
La manière de démarrer un service varie d'une distribution à l'autre (en supposant que tu as installé mysql via un package de ta distbib). Fait comme tu ferais à la main.
En ligne de commande je sais le faire (sans parler de distribution particulière) mais je ne sais pas comment je peux récupérer l'état d'un service avec des commandes perl dans script et ensuite les traiter.
J'avais fait ça à une époque chez moi sur mon Linux.
Lance la commande UNIX t'affichant la liste des services tournant actuellement sur ta machine (avec un p'tit grep qui va bien pour ne ressortir que les lignes concernant mysql). Fait travailler les expressions régulières sur le résultat retourné et à toi de jouer ensuite pour savoir s'il faut ou non lancer le démon de mysql
PS : si ça peut attendre, je crois que j'ai encore mon script Perl quelque part à la maison, je ne peux rien dire de concret avant ce soir
Ce serait sympa de voir ton ancien script perl si tu le retrouves en moins de deux jours car plus tard mon projet sera fini.
(Faire un projet en trois jours en formation c'est pas cool)
+1 avec Matafan
Retourne nous les éléments suivants STP :
- la syntaxe exacte de la commande que tu tapes dans une console UNIX pour afficher la liste des process mysql actifs
- le résultat (fais un copié/collé) retourné dans la console
- la syntaxe de démarrage de ton sgbd
Edit :
Pour t'aider un peu, voici un rapide bout de code à mettre à jour selon tes besoins bien évidemment :
Les caractères ` dans la ligne $_ = ` ... s'obtiennent avec la touché 7 du pavé alphanumérique de ton clavier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 use strict; use warnings; eval { $_ = `ta commande UNIX pour afficher les services tournant ICI`; }; die("pb en utilisant la commande UNIX : $@\n") if ($@); if ($_ =~ /mysql/i) # à peaufiner éventuellement { print "Le démon tourne\n"; } else { print "Démon non lancé\n"; system("commande mysql pour lancer le SGBD"); }
Partager