Rodando em segundo plano

7 respostas
R

Preciso fazer uma aplicação que rode em segundo plano, algo como um serviço do Windows, mas em qq SO. Alguém tem alguma dica?

7 Respostas

P

Porque você não adota a estratégia normal: Crie seu programa Java normalmente, depois crie um script para chamar o tal programa, um .sh, um .bat … na verdade estes dois já dão pro gasto. Depois vc roda os scripts como serviços :wink:

[]s

V

pra rodar “como se fosse serviço” ou seja, sem que o terminal “fique preso”

use:

javaw SuaClasse
P

Em DOS, não tem algo como

start java ...

tb?

[]s

D

Na verdade o start não é do DOS, mas sim do Windows no modo console… no DOS puro não tem multi-tarefa.

Se você der no console “start /?” vai ver um monte de opções também…

No Linux deve ter algo parecido… mas não sei direito…

Falou :slight_smile:

C

No *n?x, na maioria das shells (bash e tcsh, pelo menos), eh soh tacar um & na frente do comando:

java ... &

e ele vai pro background. Melhor ainda se vc redirecionar a stdout e stderr (1 e 2, respectivamente) para arquivos. Outro jeito de fazer eh bater um Ctrl-Z depois que a aplicacao ja tiver iniciado e estiver “bloqueando” o console, e dar “bg”. Para trazer a aplicacao de volta a tona, eh soh dar “fg”. Simple, huh? :smiley:

L

E para ela não ficar atrelada ao console, basta usar o nohup, disponivel na maioria dos unix.

R

Só para exemplificar, poderia me passar uma linha para linux/ unix completa para, digamos, uma aplicativo “meuJava”?
É que eu nao tenho nenhuma referencia aqui dos comandos -ja que uso windows :frowning:
Obrigado

Seria algo como:

java meuJava& stdout /path? stderr /path? ?

Criado 27 de abril de 2004
Ultima resposta 28 de abr. de 2004
Respostas 7
Participantes 6