Процесс перезапуска php в фоновом режиме spamassassin

Я использую попен и ssh.

В одном сценарии мне нужно перезапустить службу spamassassin с помощью:

$spamassassin = "service spamassassin restart &";
$spamassmilter = "service spamass-milter restart &";
shell_exec($spamassassin);
shell_exec($spamassmilter);

Я хочу перезапустить этот процесс в фоновом режиме, потому что мой браузер ждет перезапуска службы, чтобы остановить загрузку веб-страницы.

Я пытаюсь с:

$spamassassin = "service spamassassin restart &";

а также

$spamassassin = "service spamassassin restart > exit.txt";

а также

$spamassassin = "nohup service spamassassin restart";

Но мой браузер ждет, когда служба перезапустится...

Как я могу перезапустить службу, не дожидаясь перезапуска всех служб в моем браузере?

Я использую popen, ssh, exec

ИЗМЕНИТЬ:

Наконец-то я решил свою проблему благодаря @immulatin за эту ссылку.

Выполнение асинхронной оболочки в PHP

я использую :

$spamassassin = "service spamassassin restart &> /dev/null &";
$spamassmilter = "service spamass-milter restart &> /dev/null &";

exec($spamassassin);
exec($spamassmilter);

person mpgn    schedule 24.06.2013    source источник
comment
перезапуск службы для SA должен выполняться от имени пользователя root, а не от вашего веб-пользователя, и вам не нужно & или что-либо еще, просто перезапуск службы spamassassin   -  person Dave    schedule 24.06.2013
comment
stackoverflow.com/questions/222414/   -  person immulatin    schedule 24.06.2013


Ответы (1)


Попробуйте использовать nohup.

http://en.wikipedia.org/wiki/Nohup

<?php
// Note the backticks!
`nohup service spamassassin restart &`
?>

Кроме того, убедитесь, что у пользователя, работающего с apache, достаточно прав для перезапуска этой службы.

person Harold    schedule 24.06.2013
comment
не работает. Службу можно перезапустить, но это занимает слишком много времени. - person mpgn; 24.06.2013
comment
перезапуск спам-убийцы занимает некоторое время, это не мгновенная работа, если вы хотите запустить его в тандеме, тогда посмотрите на использование планировщика - person Dave; 24.06.2013