파이를 다시 시작하는 PHP 스크립트에 대한 AJAX 호출을 수행하는 웹 페이지가있는 Raspberry Pi 4에 LAMP 서버가 있습니다. 내 스크립트 에코는 웹 페이지에 대한 JSON 문자열 응답으로 다시 시작할 준비가되었음을 알리고 "sudo reboot"명령을 실행합니다. 스크립트는 항상 100 % 실행되고 항상 다시 시작되지만 pi 재부팅 전에 에코가 항상 완전히 전송되지는 않아 오류가 발생합니다.
예제 코드 :
<?php
... other code
$tags['status'] = "restarting";
echo json_encode($tags);
$cmd = "sudo reboot";
exec($cmd);
?>
에코 뒤에 sleep () 문을 추가하려고 시도했지만 전체 스크립트가 중지되고 절전 모드가 끝날 때까지 에코되지 않습니다. 또한 "sleep 5; sudo reboot"와 같은 exec 명령에 절전을 추가하려고 시도했지만 작동하지 않습니다.
reboot 문을 주석 처리하면 100 % 에코 응답을받습니다. 이것은 타이밍 문제가 있음을 나타냅니다. 재부팅을 실행하기 전에 에코가 완전히 처리되었는지 확인하는 방법이 있습니까?
나는 답을 찾았지만 도움이되는 것을 찾지 못했습니다.
나는 한때 비슷한 것을 가지고 2 개의 ajax 호출을 사용하기로 결정했습니다.
이것은 경쟁 조건을 방지했습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다