我在 Raspberry Pi 4 上有一个 LAMP 服务器,其网页正在对重新启动 pi 的 php 脚本进行 AJAX 调用。我的脚本 echo 是一个返回网页的 JSON 字符串响应,表明它正在准备重新启动,然后执行“sudo restart”命令。该脚本在 100% 的时间内运行并始终重新启动,但在 pi 重新启动之前回显并不总是完全传输,这会导致错误。示例代码:<?php ... other code $tags['status'] = "restarting"; echo json_encode($tags); $cmd = "sudo reboot"; exec($cmd);?>我尝试在 echo 之后添加 sleep() 语句,但这会停止整个脚本,并且直到睡眠之后才会回显。我还尝试将 sleep 添加到 exec 命令中,例如“sleep 5; sudo restart”,但这也不起作用。如果我注释掉重新启动语句,我 100% 都会得到回显响应。这告诉我我有一个时间问题。有没有办法确保在重新启动之前完全处理回显?我已经寻找答案,但没有找到任何有帮助的东西。
1 回答
UYOU
TA贡献1878条经验 获得超4个赞
我曾经有过类似的事情,并决定使用 2 个 ajax 调用:
执行任务并发回关闭消息。
收到消息后,显示并等待几秒钟,然后发送重新启动请求。
这防止了竞争条件。
- 1 回答
- 0 关注
- 83 浏览
添加回答
举报
0/150
提交
取消