Un serveur web tourne-t-il ??(Cocoa)

  • Créateur du sujet Créateur du sujet simon
  • Date de début Date de début

simon

Membre expert
Club iGen
18 Juin 2000
3 669
16
Singapore
www.simonganiere.ch
Comme je peux faire pour savoir si le serveur web du mac tourne ou pas????

Je veux faire une appli en Cocoa qui me dirait si le serveur web tourne ou pas (entre autre), est-ce qu'avec une commande UNIX (et en utilisant NSTask) je pourrais pas récupérer l'état de la chose, si oui comment
wink.gif
merci
 
Ben si le serveur apache tourne le process httpd tourne. Le seul moyen que je verrais serais de récupérer la sortie d'un ps -ax et de voir si la ligne httpd est présente. le man de httpd ne nous aide pas bcp apparament.
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par steg:

Si tu supposes que 'est Apache qui tourne tu peux faire un 'apachectl fullstatus' ou bien 'apachectl status' récuperer le resultat, et faire un parsing...

[05 juin 2002 : message édité par steg]
<HR></BLOCKQUOTE>

Le problème c'est que pour faire ça c-à-d utiliser les options fullstatus et status tu dois avoir lynx installer ce qui n'est pas la cas de tous le monde
wink.gif


en fait savoir si c'est Apache ou pas m'importe peu, parce que mon appli est l'a pour configurer le fichier httpd.conf sans passer par le Terminal, ce que je veux c'est juste un truc pour afficher le status du serveur genre:

Status: running | not running

Est-ce que je pourrais également imaginer un scannage du port 80 et s'il est ouvert -&gt; running sinon -&gt; not running ???
 
Je pense que le mieux dans ce cas serait l'essai d'une connection HTTP sur le port 80, on sait jamais, c'est pas forcement Apache qui tourne en tant que seveur Web.
Si tu supposes que 'est Apache qui tourne tu peux faire un 'apachectl fullstatus' ou bien 'apachectl status' récuperer le resultat, et faire un parsing...

[05 juin 2002 : message édité par steg]
 
Bien sur... Pour ca le mieux est d'utiliser small socket. Mais une autre appli peut occuper le port 80, et le serveur n'est pas forcement sur le port 80, meme si c'est la valeur par défault. L'utilisateur devra spécifier le port, ensuit il suffit effetivement de checker l'ouverture de celui ci.
Au fait une solution ourrait consister à regarder les sources de apachecl, et d'inclure le code necessaire au dialogue avec apache dans ton application (je pense que c'est la meilleur solution).

[07 juin 2002 : message édité par steg]
 
Bon, sinon le plus simple est ta première idée:
ps -ax | grep httpd
Mais si tu fais une sorte d'ui pour configurer Apache, s'interesser à apachectl serait plutot bien.