Questão Linux (Ubuntu) Execute o programa em segundo plano


Eu estou tentando executar um script PHP em segundo plano no meu servidor Linux sobre SSH (Putty), mas eu não estou conseguindo isso para o trabalho.

O comando que quero executar em segundo plano é:

php buildscript/build_css.php Como root@FIG-VMSAM:/var/www/wem#

Eu tentei isso e obter apenas isso e não está funcionando, (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

Eu também tente iniciar o comando por normal e depois disso colocar isso no fundo por <Ctrl>+z  mas também não funciona.

Como pano de fundo no meu script PHP eu uso system() e ligue stylus  http://learnboost.github.com/stylus/ e inotifywait se isso é para ajudar?

Alguém sabe por que isso não funciona para mim?


0


origem


O script corre bem quando está em primeiro plano? Porque eu acho que ele pára devido a um erro. - laurent
Sim, este trabalho funciona muito bem em primeiro plano enquanto eu corro este normal, mas não no fundo. - FIG-GHD742


Respostas:


Outra resposta rápida é ... presumindo que o programa realmente não precisa de entrada do usuário:

 php buildscript/build_css.php </dev/null &

A razão pela qual está parando é que o programa está abrindo stdin por algum motivo, mesmo que não precise de nenhuma entrada.


1



Muito Bom, esse trabalho pra mim, eu ficarei feliz em não precisar ter 5 terminais abertos ao mesmo tempo. - FIG-GHD742


Seria possível executar o script em uma tela separada?

sudo apt-get install screen

Então use screen -S screenname onde screenname é um nome que você dá a sessão de tela.

Uma vez na tela, você pode digitar seu comando, php buildscript/build_css.php

Para sair da sessão, use ctrl+uma+d.

Para voltar à sessão, use screen -r screenname

Não se preocupe, quando você sair da sessão, o comando continuará funcionando em segundo plano.


1



Vou testar, que o comando vai rodando depois que eu fechar putty não é o que eu quero, espero poder nesse caso tirar isso. - FIG-GHD742
Quando você sai da massa, a sessão da tela continuará a ser executada. - Kruug
Desculpe Tente isso, mas de alguma forma o screen não funciona muito bem no meu servidor. - FIG-GHD742
Quando você está na sessão de tela, você está no diretório correto? - Kruug
Posso deixar a tela por um comando? Ou iniciar uma nova tela com um comando, em seguida, automático deixou a nova tela? - FIG-GHD742