mitteljc a écrit 3 commentaires

  • [^] # Re: redemarrer en cas de plantage

    Posté par  . En réponse au message Redémarrer un serveur en cas de plantage. Évalué à 1.

    Merci, ça a l'air de répondre à mon besoin. Pour précision, il faut lire "setsockopt" et non "setsocketopt". J'ai eu du mal à trouver le "man setsocketopt" ;-)

    Salut.
  • # OK, trouvé

    Posté par  . En réponse au message Redémarrer un serveur en cas de plantage. Évalué à 2.

    En fait, execlp n'écrase pas l'environnement. Par fork, le fils hérite de l'environnement du père (dont les fichiers ouverts comme les sockets) et il reste présent avec execlp. Donc le socket restait ouvert. Par mesure de sécurité, avant l'execlp, je ferme tout les fichiers susceptibles d'être ouverts (sauf les standards) :
    int fid;
    for( fid = getdtablesize(); fid > 2; fid-- ) close(fid);
  • [^] # Re: Ca va trop vite?

    Posté par  . En réponse au message Redémarrer un serveur en cas de plantage. Évalué à 1.

    1. Pour ce qui est du sleep. J'avais déjà testé avec un sleep de 10 s avec le même résultat.
    2. La gestion du programme de surveillance est embêtante dans le sens où lorsque j'arrête le programme volontairement, il faut penser à arrêter la surveillance.
    3. J'évite l'inittab car je trouve la gestion par chkconfig bien plus souple.

    Merci.