Linux (Ubuntu) Executa o programa em segundo plano

0

Estou tentando executar um script PHP em segundo plano no meu servidor Linux sobre SSH (Putty), mas não estou conseguindo que isso funcione.

O comando que quero executar em segundo plano é:

php buildscript/build_css.php as 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 tentei iniciar o comando por normal e depois colocar isso em segundo plano por <Ctrl>+z , mas ele também não funciona.

Como plano de fundo no meu script PHP, uso system() e chame stylus link e inotifywait se isso é para ajudar?

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

    
por FIG-GHD742 03.01.2013 / 18:21

2 respostas

1

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

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

O motivo é que o programa está abrindo stdin por algum motivo, mesmo que não precise de nenhuma entrada.

    
por 03.01.2013 / 19:03
1

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

sudo apt-get install screen

Em seguida, use screen -S screenname , em que screenname é um nome que você atribui à 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 + a + d .

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

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

    
por 03.01.2013 / 18:28

Tags