Como executo em background / retorno antecipado?

4

Para referência, estou usando phpseclib para controlar um servidor SSH remoto usando a conta 'root'.

Eu tenho que iniciar / parar um processo java que é executado em segundo plano. Parar funciona bem com killall java e isso é tudo que preciso agora, embora quando eu executo o servidor, eu estou usando:

(cd ./serv/; nohup java -classpath bin:deps/poi.jar:deps/netty.jar:deps/mysql.jar:deps/slf4j.jar:deps/slf4j-nop.jar:deps/jython.jar:log4j-1.2.15.jar: server.Server &)

Como você pode ver, estou usando o & operador para o segundo comando dentro dos parênteses. O comando seria executado corretamente embora a página continuasse carregando aguardando um valor de retorno / código de saída? E acabaria por usar toda a memória no meu webhost.

A resposta foi que você precisa direcionar manualmente a saída do nohup:

Editar: Resposta !!

(cd ./serv/; java -classpath bin:deps/poi.jar:deps/netty.jar:deps/mysql.jar:deps/slf4j.jar:deps/slf4j-nop.jar:deps/jython.jar:log4j-1.2.15.jar: server.Server >/tmp/test.out 2>&1 &)

Obrigado ao Mikeserv pela ajuda.

    
por Toby Wisener 30.07.2014 / 12:43

1 resposta

2

cd ./serv/; java -classpath bin:deps/poi.jar:deps/netty.jar:deps/mysql.jar:deps/slf4j.jar:deps/slf4j-nop.jar‌​:deps/jython.jar:log4j-1.2.15.jar: server.Server >/tmp/test.out 2>&1 &

Responda gentilmente de @mikeserv, estou postando a pedido de @Sebastian para que isso seja removido da fila não atendida (um ano e meio depois).

    
por 30.03.2016 / 12:30