Я пытаюсь выключить машину Ubuntu с помощью PHP, и у меня возникла проблема, если я хочу отложить выключение.
Я использую строку PHP:
exec("sudo shutdown -h +5 &", $output);
Где 5, однако, много минут в будущем, я хочу выключиться.
Моя проблема в том, что это не будет в фоновом режиме, и Apache зависает до тех пор, пока машина не выключится или кто-то другой не отменит выключение. shell_exec () имеет тот же результат.
Есть ли другой способ сделать это немедленно?
Я категорически против того, чтобы разрешить повышение привилегий уровня sudo для вашей установки ...
Anywho:
Добавьте sudo shutdown -h в файл сценария.
Тогда беги at
(планировщик)
at -f /shutdown/script `date +%H:%M --date "now + 5 minutes"`
Поскольку вы используете PHP, возможно, имеет смысл выполнять расчет времени в PHP:
$time = date('H:i', strtotime('+5 minutes'));
exec('at -f /shutdown/script $time');