Witryna WWW musi być w stanie uruchomić i zatrzymać proces demona. To, co aktualnie robię, to Uruchamianie demona z PHP
exec("sudo /etc/init.d/daemonToStart start");
Proces demona jest uruchomiony, ale Apache/PHP się zawiesza. Wykonanie
ps aux
ujawniło, że samo
sudo
zmieniło się w proces zombie, skutecznie zabijając wszystkie dalsze postępy. Czy to normalne zachowanie podczas próby uruchomienia daeomon z PHP?
I tak, Apache ma prawo wykonać polecenie /etc/init.d/daemonToStart
. Zmieniłem plik/etc/sudoers, aby to umożliwić. Nie, nie pozwoliłem, aby Apache mógł wykonać dowolne polecenie, a tylko kilka z nich, aby umożliwić działanie strony.
W każdym razie, wracając do mojego pytania, czy istnieje sposób na umożliwienie PHP uruchamiania demonów w taki sposób, aby nie powstawał proces zombie? Pytam o to, ponieważ gdy wykonuję odwrotność, zatrzymanie już uruchomionego daemona, działa dobrze.
nie powinien istnieć 'start' argumentem? – ZeissS
To prawda, zapomniałem dodać tego do pytania. W moim kodzie mam to. Ale edytuję pytanie pod kątem kompletności. – ThaMe90