Pular para o conteúdo

Como manter procsso rodando sem um terminal [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Como manter procsso rodando sem um terminal [RESOLVIDO]

Enviado em 06/06/2014 - 09:27h

Tenho um VPS com ubuntu, mas esse ubuntu está sem interface gráfica (não posso instalar pois isso deixa o jogo lento).

Para executar o jogo eu abro um terminal e conecto no VPS e só dou o comando <# ./nome_do_jogo --server> e então o processo(jogo) funciona normalmente. O problema é que esse terminal usado para executar o processo(jogo) funciona como um log do jogo e caso eu feche ele, o servidor(jogo) simplesmente para de funcionar.

Como manter o servidor funcionando sem que eu precise ficar com o terminal aberto? (alem do mais o servidor é 24 horas e meu computador não)

Responder tópico

2. Re: Como manter procsso rodando sem um terminal [RESOLVIDO]

Enviado em 06/06/2014 - 09:42h

Utilize o comando nohup

# nohup programa

Para enviar para background acrescente o &


# nohup programa &

4. Re: Como manter procsso rodando sem um terminal [RESOLVIDO]

Enviado em 06/06/2014 - 10:40h

além do nohup, vc pode primeiro tentar assim:

./nome_do_jogo --server &

o sinal "&" significa que o aplicativo deverá ficar rodando com o terminal fechado.


Como o comando é longo, e vc não tem a interface gráfica, depois de testar e ver se funciona, eu faria um alias, no .bashrc, tipo assim, edite o ser arquivo

~/.bashrc

e nele coloque esta linha:

alias meu-jogo='sudo ./nome_do_jogo --server &'

no lugar de "meu-jogo" coloque o nome que quiser. quando digitar esse nome e de enter, seu jogo deverá abrir.

OUTRO JEITO:

a priori, se vc dá um "exit", ele fechará o terminal e o aplicativo, mas para fechar só o "terminal" e o aplicativo ficar rodando, tente assim:

$ sudo ./nome_do_jogo --server && killall terminal

onde "terminal" é o seu programa de terminal padrão, tipo konsole, gnome-terminal ou xterm.
Não sei se funciona, pq nunca tentei

Na net tem um script para fazer isso que vc quer,de uma olhada aqui:

http://hints.macworld.com/article.php?story=20040430114626263


5. Problema Resolvido

Enviado em 17/06/2014 - 10:41h

Eu entendi. Basta usar o comando [nohup ./jogo --server &] e caso queira ver o log do jogo e só abrir o arquivo nohup.out. Simples.

Obs.: para abrir o arquivo nohup.out eu aconselho fazer conecção com filezilla pois o arquivo e bem grande e com o filezilla vc pode usar um editor de texto do seu pc para pesquisar pelo log por tags.

6. Re: Como manter procsso rodando sem um terminal [RESOLVIDO]

Enviado em 17/06/2014 - 11:13h

brunobsantos escreveu:

Tenho um VPS com ubuntu, mas esse ubuntu está sem interface gráfica (não posso instalar pois isso deixa o jogo lento).

Para executar o jogo eu abro um terminal e conecto no VPS e só dou o comando <# ./nome_do_jogo --server> e então o processo(jogo) funciona normalmente. O problema é que esse terminal usado para executar o processo(jogo) funciona como um log do jogo e caso eu feche ele, o servidor(jogo) simplesmente para de funcionar.

Como manter o servidor funcionando sem que eu precise ficar com o terminal aberto? (alem do mais o servidor é 24 horas e meu computador não)
Se você quer que o servidor rodando no seu computador fique 24h no ar, o computador no qual ele roda precisa ficar, também, 24h no ar. Você já tem uma impossibilidade aí.

Para fazer o log,
 $ ./nome_do_jogo --server 1&> jogo.log 2&> jogo.errors  
Isso vai criar o arquivo jogo.log, com o log de eventos, e o jogo.errors, que vai fazer um registro com apenas os erros de processamento. Útil para debugar, caso seja necessário. Para não travar o terminal com isso, crie um arquivo qualquer e coloque nele
 #!/bin/bash
./nome_do_jogo --server 1&> jogo.log 2&> jogo.errors &
Torne o arquivo executável e lance o jogo pelo lançador recém-criado.

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder