Forum Programmation.php comment tuer un programme lancé par shell_exec()?

Posté par  .
Étiquettes : aucune
0
20
juil.
2005
Bonjour,
Je me sert actuellement de la fonction shell_exec() pour lancer un programme sur une page HTML. Le problème est que l'utilisateur doit pouvoir terminer ce programme quand il veut (en mode console il lui suffirait de faire CTRL C).
J'ai réussit à récupérer le PID du processus mais je ne peut pas utiliser 'kill -SIGKILL numpid' puisque je n'ai pas les droits root.
Comment faire?
  • # Pourquoi root ?

    Posté par  . Évalué à 1.

    Si ton programme est lance par ton script php, le proprietaire du processus est l'utilisateur associe a ton serveur web. Pour killer un process il suffit d'en etre proprietaire, donc je ne vois pas ou est ton probleme puisque c'est ce meme utilisateur qui tentera de killer l'application... sauf si j'ai faux quelque part :)
    • [^] # Re: Pourquoi root ?

      Posté par  . Évalué à 0.

      Apparemment l'utilisateur reconnu par le serveur est 'nobody' et il n'a pas les droits nécessaires...
  • # no problem

    Posté par  . Évalué à 0.

    Autant pour moi, c'était une erreur de syntaxe au niveau de shell_exec()!

    Pour information, 'shell_exec($variable)' ne fonctionne pas: il faut penser à mettre des guillemets, ainsi: 'shell_exec("$variable")'.

    Merci quand même d'avoir répondu à ma demande!
  • # Avec les fonctions POSIX

    Posté par  (site web personnel) . Évalué à 2.

    J'avais un moment fait mumuse (mais en mode console) avec les fonctions POSIX, les forks etc. Si tu stockes le résultat du fork dans une variable de session, tu peux peut être utiliser posix_kill. C'est juste une piste à explorer, je n'ai pas plus d'informations.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.