01/10/2018, 12:14
Làm thế nào để tắt file thực thi trong PHP sử dụng exec
Trong file python e có sử dụng vòng lặp while, em không biết soa để cho nó dừng lại.
Chương trình em chỉ chạy đúng lần đầu tiên sau khi khởi động.
Các anh giúp em với.
Em cảm ơn.
Bài liên quan
Muốn kill 1 process trong Linux thì cần biết PID (Process ID) của nó. Do đó, bạn cần đổi câu lệnh thực thi lại 1 chút.
Sau đó kill:
Nguồn tham khảo:
stackoverflow.com
PHP exec() not storing Process ID
How to kill a linux process using pid from php?
em đã làm như anh nói
nhưng vẫn không được anh
Bước đầu tiên là bạn cần in biến $pid ra trình duyệt/terminal xem biến đó có thực sự có giá trị không.
Bước tiếp theo là vào terminal gõ
Với
<pid>
là giá trị của biến$pid
bạn có được. Ví dụ:Xem có tiến trình nào như vậy không
Là cái PID này hả anh?
Em không copy được nên e chụp hình luôn.
Cột đầu tiên bên trái chính là PID.
Ụa anh ơi.
Sao e dùng 1 lệnh nhưng trong 2 terminal khác nhau, 1 cái khí sau khi e PUTTY và 1 cái là e remote desktop. Kết quả là nó ra 2 cái PID khác nhau.
Vậy e dùng cái nào thì đc anh?
Và sau khi em làm như a nói thì chạy lại file trên giao diện thì LED không sáng luôn
2 session khác nhau thì nó phải có 2 PID khác nhau chứ
Nếu vậy bạn phải kiểm tra lại file
.py
có bị lỗi ko trước khi chạy trung gian qua PHP.Da, file python van chay bthuong anh.
Và sau đó bạn execute file python bằng PHP, mọi việc ổn. Dùng pid thu được và kill nó thì có điều kì lạ xảy ra?
Em không hiểu ý anh lắm ạ.
Vấn đề của bạn là chạy trực tiếp file python thì ok nhưng thông qua PHP thì fail hay chạy thông qua PHP vẫn ok nhưng khi kill process thì gặp sự cố?
Dạ. vấn đề của em là:
Chạy file python thì ok.
Khi chạy thông qua PHP thì chỉ chạy đúng lần đầu tiên thôi, những lần sau thì chạy không đúng nữa.
Lúc e làm như a nói trên, lúc e chưa kill process thì nó cũng chạy như cũ, không thay đổi gì.
Sau khi e kill process thì mở python qua PHP thì k chạy nữa.
Giờ em phải làm sao đây anh
Vậy sau khi kill thì bạn chạy lại execute dạng:
Với
<path_to_log_file>
là 1 file text bạn tạo ra cho quyền ghi / sửa xem rút cuộc nó bị lỗi gì.Lưu ý: Hạn chế không dùng sudo.