Corrija seu código:
Olhando para o seu código (obrigado por fornecer agora) você parece estar perdendo um else
- dependendo do que você deseja fazer, é claro, já que não temos especificação de requisitos.
Se você deseja apenas gerar um processo em segundo plano, tente o seguinte:
<?php
if (isset($_POST['test']) && $_POST['test'] == 1) {
// send an e-mail to my Gmail account
}
else
run_background_process('example.com', 'test=1');
(...)
Caso contrário, você irá chamar todo o seu código novamente depois de enviar cada e-mail.
(Seu código original também contém poucas aspas simples ´
na instrução if
, que eu presumo que esteja lá no seu arquivo, mas não na sua pergunta - a menos que o php seja ainda mais generoso com sua sintaxe do que eu pensava. )
Solução alternativa para parar os processos gerados:
Tente isso para matar
ps aux | grep -w httpd | grep -v grep | awk '{print $2}' | xargs --no-run-if-empty kill -KILL
ou para suspender (parar) os processos:
ps aux | grep -w httpd | grep -v grep | awk '{print $2}' | xargs --no-run-if-empty kill -STOP