Đối với một trang web, tôi cần để có thể bắt đầu và dừng quá trình daemon. Những gì tôi hiện đang làm làKhởi động một daemon từ PHP
exec("sudo /etc/init.d/daemonToStart start");
Quá trình daemon được bắt đầu, nhưng Apache/PHP bị treo. Làm một ps aux
tiết lộ rằng sudo
chính nó đã thay đổi thành một quá trình zombie, có hiệu quả giết chết tất cả tiến bộ hơn nữa. Đây có phải là hành vi bình thường khi cố gắng để bắt đầu một daeomon từ PHP?
Và có, Apache có quyền thực hiện lệnh /etc/init.d/daemonToStart
. Tôi thay đổi tập tin/etc/sudoers để cho phép nó làm như vậy. Không, tôi đã không cho phép Apache có thể thực hiện bất kỳ loại lệnh nào, chỉ một số ít để cho phép trang web hoạt động.
Dù sao, quay trở lại câu hỏi của tôi, có cách nào để cho phép PHP khởi động các trình tiện ích theo cách mà không có quá trình tạo zombie nào không? Tôi hỏi điều này bởi vì khi tôi làm ngược lại, dừng một daemon đã bắt đầu, hoạt động tốt.
Nên không có được một 'lập luận start'? – ZeissS
Đúng, tôi quên thêm câu hỏi đó vào câu hỏi. Trong mã của tôi, tôi có nó. Nhưng, tôi sẽ chỉnh sửa câu hỏi để hoàn thành. – ThaMe90