%20Execute%20o%20programa%20em%20segundo%20plano.png)
Estou tentando executar um script PHP em segundo plano no meu servidor Linux por meio de SSH (Putty), mas não estou conseguindo que isso funcione.
O comando que quero executar em segundo plano é:
php buildscript/build_css.php
comoroot@FIG-VMSAM:/var/www/wem#
Eu tentei isso e consegui apenas isso e não funcionou, (não construa meu CSS para mim)
root@FIG-VMSAM:/var/www/wem# php buildscript/build_css.php &
[1] 2274
[1]+ Stopped php buildscript/build_css.php
Também tentei iniciar o comando normalmente e depois colocar em segundo plano, <Ctrl>+z
mas também não funciona.
Como pano de fundo no meu script PHP eu uso system()
e chamostylus
http://learnboost.github.com/stylus/
e inotifywait
se isso é para ajudar?
Alguém sabe por que isso não funciona para mim?
Responder1
Outra resposta rápida é... presumir que o programa realmente não precisa de nenhuma entrada do usuário:
php buildscript/build_css.php </dev/null &
A razão pela qual ele está parando é que o programa está abrindo stdin
por algum motivo, mesmo que não precise de nenhuma entrada.
Responder2
Seria possível executar o script em uma tela separada?
sudo apt-get install screen
Em seguida, use screen -S screenname
onde screenname é o nome que você atribui à sessão de tela.
Uma vez na tela, você pode inserir seu comando,php buildscript/build_css.php
Para sair da sessão, use ctrl+ a+ d.
Para voltar à sessão, usescreen -r screenname
Não se preocupe, ao sair da sessão o comando continuará rodando em segundo plano.