Comment tuer un processus linux à l'aide de pid à partir de php?
Je suis confronté à un problème concernant le meurtre d'un processus Linux à partir de mon code php.
Je suis en cours d'exécution d'un Scrapy outil à partir de mon code php à l'aide de la proc_open()
fonctionner en arrière-plan.
Il fonctionne très bien, mais maintenant j'ai envie de tuer ce processus à l'aide de son identifiant de processus.
Pour le faire, je suis en utilisant exec("sudo kill -9 $pid");
où $pid
est l'id de processus qui je suis passer de mon code php.
Le problème est que ce processus est en cours d'exécution pour le compte de l'utilisateur apache. J'ai pensé il pourrait y avoir un problème d'autorisations, j'ai donc ajouté des utilisateurs d'apache pour le sudoers, comme ce apache ALL=(ALL) NOPASSWD:ALL
mais je ne suis pas encore en mesure de le tuer. En quelque sorte, le même ordre de tuer les œuvres de mon mastic console.
Mon code est sur une instance Amazon EC2.
Ma question est, comment puis-je tuer les processus identifié par pid à partir de php?
Aussi, si
apache
est le propriétaire du processus, avez-vous essayez simplement kill -9 $pid
?Merci @SudiptaChatterjee.. tout Simplement kill -9 $pid travaillé.. j'avais perdu beaucoup de jours sur ce.. Merci encore une fois!
Simplement, exec("kill -9 $pid"); travaillé..
Fantastique - s'il vous plaît marquer ma réponse ci-dessous à titre correct 🙂
OriginalL'auteur kishan | 2013-10-08
Vous devez vous connecter pour publier un commentaire.
Jamais, jamais, donner apache
sudo
autorisations de!Utilisation
exec("kill -9 $pid");
- votre apache processus a commencé, il peut le tuer 🙂OriginalL'auteur Sudipta Chatterjee
Essayer
posix_kill
:OriginalL'auteur Viacheslav aka Lordz
Vous pouvez utiliser exec avec des privilèges sudo pour une compétence qui est plus sûr de vérifier tuer les utilisateurs des processus dans linux avec php
Merci & en ce qui Concerne,
Alok Thaker
OriginalL'auteur linux_fanatic