Tester la présence d'un process

Ce forum traite des autres distributions spécialisées, notamment les distributions sécurisées comme ASTARO ou COYOTE LINUX.

Modérateur: modos Ixus

Messagepar vivanno » 23 Déc 2003 12:19

Bonjour, <BR>J'ai des p'tits soucis avec mon apache avant de trouver mon problème, je voudrais détecter le process et si il n'existe pas de (re)lancer apache. <BR> <BR>Quelqu'un connait un p'tit script sh pour faire cela ? <BR> <BR>Merci d'avance. <IMG SRC="images/smiles/icon_wink.gif">
Avatar de l’utilisateur
vivanno
Premier-Maître
Premier-Maître
 
Messages: 58
Inscrit le: 16 Jan 2002 01:00
Localisation: Paris

Messagepar belugha » 23 Déc 2003 12:28

Bonjour, <BR> <BR>Pour savoir si apache tourne: <BR># ps -ax ou netstat -l et tu verras apparaitre le http <BR> <BR>Pour relancer Apache: <BR># apachectl graceful ou httpd -k start tout dépend de la version apache <BR> <BR> <BR>
L'humanité est à un croisement: un chemin mène au désespoir, l'autre à l'extinction totale. Espérons que nous aurons la sagesse de savoir choisir.
[Woody Allen]
Avatar de l’utilisateur
belugha
Amiral
Amiral
 
Messages: 1595
Inscrit le: 26 Mars 2003 01:00
Localisation: Du Nord -

Messagepar drlin » 23 Déc 2003 12:35

ps axwf | grep httpd | grep -v ps | grep -v grep <BR> <BR>et ca donne : <BR> <BR>6254 ? S 1:13 _ /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf <BR> 6255 ? S 1:01 _ /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf <BR> 6256 ? S 1:01 _ /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf <BR> 6257 ? S 1:13 _ /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf <BR> 6258 ? S 0:57 _ /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf <BR> 6259 ? S 0:58 _ /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf <BR> 6260 ? S 1:03 _ /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf <BR> 6262 ? S 0:52 _ /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf <BR> 6777 ? S 1:08 _ /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf <BR> 6782 ? S 0:57 _ /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf <BR> 6784 ? S 1:01 _ /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf <BR> 6785 ? S 0:57 _ /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf <BR> 9102 ? S 0:55 _ /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf <BR> 9103 ? S 0:54 _ /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf <BR> 9106 ? S 1:04 _ /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf <BR> 9107 ? S 0:46 _ /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf <BR> 9108 ? S 0:51 _ /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf <BR> 9109 ? S 0:50 _ /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf <BR>19377 ? S 0:16 _ /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf <BR>19379 ? S 0:32 _ /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf <BR>20404 ? S 0:19 _ /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf <BR>20405 ? S 0:29 _ /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf <BR>20409 ? S 0:25 _ /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf <BR>21473 ? S 0:27 _ /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf <BR>24575 ? S 0:02 _ /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf <BR>24575 ? S 0:02 _ /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf <BR> <BR>voili voilou
A+

Dr Lin (aka Johan Denoyer)
Avatar de l’utilisateur
drlin
Lieutenant de vaisseau
Lieutenant de vaisseau
 
Messages: 211
Inscrit le: 24 Jan 2002 01:00
Localisation: FRANCE

Messagepar vivanno » 23 Déc 2003 13:14

je suis un developpeur Web/php et donc je suis pas doué en scripting sh c'est pour ca que je recherche un p'tit script déja fait <IMG SRC="images/smiles/icon_frown.gif"> Personne a ça sous la main ? <IMG SRC="images/smiles/icon_smile.gif">
Avatar de l’utilisateur
vivanno
Premier-Maître
Premier-Maître
 
Messages: 58
Inscrit le: 16 Jan 2002 01:00
Localisation: Paris

Messagepar tomtom » 23 Déc 2003 13:35

faut vraiment tout vous faire... <BR> <BR>#!/bin/bash <BR> <BR>process=`ps -ef | grep apache | grep -v grep | wc -l` <BR> <BR>if [ $process -lt 1 ] <BR>then <BR> apachectl start <BR>fi <BR> <BR> <BR> <BR>t.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar vivanno » 23 Déc 2003 13:46

Merci c'est sympas mais une petite explication serai la bien venu, sauf si tu n'a pa le temps biensur. <IMG SRC="images/smiles/icon_smile.gif"> <BR> <BR>C'est déjà sympas de m'avoir donné l'astuce <IMG SRC="images/smiles/icon_smile.gif">)))
Avatar de l’utilisateur
vivanno
Premier-Maître
Premier-Maître
 
Messages: 58
Inscrit le: 16 Jan 2002 01:00
Localisation: Paris

Messagepar tomtom » 23 Déc 2003 13:53

<BR>#!/bin/bash //t'as pas besoin de commentaires pour ça ? ca doit toujours etre au debut des scripts, c'est l'interpreteur de commandes <BR> <BR>process=`ps -ef | grep apache | grep -v grep | wc -l` // alors ps -ef affiche tous les process je passe le resultat à grep qui ne garde que les lignes avec apache, je grep pour ne pas avoir dans mon compte les lignes correspondant au grep, puis je passe le resultat du tout à wc -l qui compte le bombre de ligne de la sortie. Je stocke le tout dans la variable process <BR> <BR>if [ $process -lt 1 ] // si il y a moins de 1 process <BR>then //alors .... <BR> apachectl start //on utilise le controleur apache pour le demarrer <BR>fi //fin de la boucle if <BR> <BR>Ca suffit ? <BR> <BR>t. <BR>
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar moktar » 23 Déc 2003 14:47

Je pense qu'il serait preferable de checker si le port http est listening. <BR> <BR>C'est plus parlant que de verifier si apache tourne. <BR> <BR>Ce qui nous interesse est de savoir si apache ecoute ou pas ! <BR> <BR>avec un petit 'netstat -anp | grep " LISTEN " ' <BR>Tu auras en plus (-p) le numero du process que tu peux verifier egalement ... <BR>
All unix is love (moktar - 2004)
Avatar de l’utilisateur
moktar
Aspirant
Aspirant
 
Messages: 119
Inscrit le: 04 Déc 2003 01:00
Localisation: france

Messagepar vivanno » 23 Déc 2003 14:48

Parfait m'ssieur <IMG SRC="images/smiles/icon_smile.gif"> <BR> <BR>Merci beaucoup !
Avatar de l’utilisateur
vivanno
Premier-Maître
Premier-Maître
 
Messages: 58
Inscrit le: 16 Jan 2002 01:00
Localisation: Paris

Messagepar vivanno » 23 Déc 2003 14:58

<!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-2>En réponse à:</font><HR></TD></TR><TR><TD><FONT SIZE=-2><BLOCKQUOTE> <BR>Le 2003-12-23 13:47, moktar a écrit: <BR>Je pense qu'il serait preferable de checker si le port http est listening. <BR> <BR>C'est plus parlant que de verifier si apache tourne. <BR> <BR>Ce qui nous interesse est de savoir si apache ecoute ou pas ! <BR> <BR>avec un petit 'netstat -anp | grep " LISTEN " ' <BR>Tu auras en plus (-p) le numero du process que tu peux verifier egalement ... <BR> <BR> <BR></BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR>Exacte ! Et comme je pourrai faire un kill et le relancer si apache et planté ! <BR> <BR>Vi vi vi je regarde ça. Merci beaucoup pour le coup de main <IMG SRC="images/smiles/icon_smile.gif">
Avatar de l’utilisateur
vivanno
Premier-Maître
Premier-Maître
 
Messages: 58
Inscrit le: 16 Jan 2002 01:00
Localisation: Paris

Messagepar vivanno » 23 Déc 2003 15:31

Dernière question de newbies en bash <IMG SRC="images/smiles/icon_smile.gif"> <BR> <BR>Comment peut on recupérer le n° de process à partir du de la commande suivante: <BR> <BR>ps -ef | grep apache | grep -v grep | wc -l <BR> <BR> <BR>C'est pour faire kill et relancer si le process et en cour d'execution mais qu'il n'écoute pas le port. <IMG SRC="images/smiles/icon_wink.gif"> <BR> <BR> <BR>Merci vraiment.
Avatar de l’utilisateur
vivanno
Premier-Maître
Premier-Maître
 
Messages: 58
Inscrit le: 16 Jan 2002 01:00
Localisation: Paris

Messagepar tomtom » 23 Déc 2003 15:38

tu n'as pas besoin de le killer, il te suffit de faire un apachects restart à la plce du start pour le relancer ! <BR> <BR>Sinon, pour recuperer le numero de process, il ne faudra pasutiliser wc mais plutot cut ou mieux awk ! <BR> <BR>t.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar vivanno » 23 Déc 2003 15:49

<!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-2>En réponse à:</font><HR></TD></TR><TR><TD><FONT SIZE=-2><BLOCKQUOTE> <BR>Le 2003-12-23 14:38, tomtom a écrit: <BR>tu n'as pas besoin de le killer, il te suffit de faire un apachects restart à la plce du start pour le relancer ! <BR> <BR>Sinon, pour recuperer le numero de process, il ne faudra pasutiliser wc mais plutot cut ou mieux awk ! <BR> <BR>t. <BR> <BR></BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR>Ben non je ne suis pas daccord car si le process est en cours mais qu'il est planté la commande: <BR>apachectl start <BR> <BR>me renvera: <BR>/usr/sbin/apachectl start: httpd (pid xxx) already running <BR> <BR>C'est justement pour contré ça que je fais un kill ! <IMG SRC="images/smiles/icon_smile.gif"> <BR>
Avatar de l’utilisateur
vivanno
Premier-Maître
Premier-Maître
 
Messages: 58
Inscrit le: 16 Jan 2002 01:00
Localisation: Paris

Messagepar vivanno » 23 Déc 2003 16:15

J'ai trouvé comment faire <IMG SRC="images/smiles/icon_smile.gif"> <BR> <BR>Merci encore messieurs!
Avatar de l’utilisateur
vivanno
Premier-Maître
Premier-Maître
 
Messages: 58
Inscrit le: 16 Jan 2002 01:00
Localisation: Paris

Messagepar tomtom » 23 Déc 2003 16:53

si tu relis mieux mon post, tu verras qu'il y a un restart à la place d'un start, et que c'est justement fait pour arreter proprement le process plutot que de le killer <IMG SRC="images/smiles/icon_wink.gif"> <BR> <BR>t.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Suivant

Retour vers Autres distributions

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

cron