Não existe um método específico para o PHP quando se trata de executar trabalhos em segundo plano. Os métodos amplamente aceitos são:
-
Usando um
screen
. Instalescreen
(se ainda não estiver instalado) e, em seguida, execute seu script PHP em uma tela. Você pode desanexar dascreen
a qualquer momento e efetuar logout da máquina e o script continuará em execução. Aqui é uma das poucas centenas de tutoriais disponíveis on-line sobre como usar oscreen
. -
Usando
nohup
. O uso é:
nohup <yourPHPcommand> &
O nohup
deixará seu script 'dizer não' ao sinal HANGUP quando você efetuar logout, como resultado, seu script PHP continuará sendo executado mesmo depois que você sair. O único problema é que você não será capaz de trazer esse trabalho / processo para o primeiro plano e ver a saída (se for importante para você). Você pode redirecionar a saída para um arquivo e ver o que está sendo impresso a partir desse arquivo.
Dos dois acima, recomendo que você use o screen
. Você pode anexar à tela sempre que quiser e controlar o processo da mesma forma que faria se tivesse iniciado em primeiro plano.
P.S: - A execução do script com o e comercial ( &
) no final coloca-o em segundo plano, mas o script / processo é eliminado quando você sai do terminal.