Como manter procsso rodando sem um terminal [RESOLVIDO]

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

Bruno Borges
brunobsantos

(usa Ubuntu)

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)


  


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

Perfil removido
removido

(usa Nenhuma)

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

Utilize o comando nohup

# nohup programa

Para enviar para background acrescente o &


# nohup programa &


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

Fábio Felix Dias
slack felix

(usa Slackware)

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

Olá, você pode utilizar o comando nohup. Verifica essa dica:
http://www.vivaolinux.com.br/dica/O-comando-nohup


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

Alberto Federman Neto.
albfneto

(usa openSUSE)

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

Bruno Borges
brunobsantos

(usa Ubuntu)

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]

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

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.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts