Rodando em segundo plano

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?

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

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

use:

javaw SuaClasse

Em DOS, não tem algo como

start java ...

tb?

[]s

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:

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:

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

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? ?