Entre para seguir isso  
Seguidores 0
Protimus

Utilizando a Screen

3 posts neste tópico

Utilizando a Screen

 

Quando utilizando servidores Linux, existe um pacote muito interessante que é a ferramenta screen. 

Essa ferramenta permite que você crie uma sessão própria e possa trabalhar em conjunto, sem interferir em ações que estejam sendo executadas no servidor principal por outra pessoa que esteja trabalhando. Com a screen você tem uma "tela própria" de alguma coisa ou processo que você queira deixar rodando, com a apresentação dos logs do terminal.

Um exemplo bem prático é por exemplo o map-server. Se você desejar, pode continuar vendo os "logs de mensagens do map-server" sem precisar utilizar outros comandos do Linux para deixar o processo em background e depois requisitá-lo de volta.

 

Para instalar o screen, você deve utilizar o comando:

yum -y install screen

 

Para criar uma screen, utilizar o comando:

screen -S nome

 

Quando você sair da sua screen ou fechar a sessão do SSH que você estiver conectado, sua screen não será morta e você não perderá o que estiver fazendo. Caso você queira apenas sair da screen e voltar para o seu $PATH, utilize o comando:

CTRL + A + D

 

Caso você queira entrar novamente na sua screen, utilize o comando:

screen -r nome

 

Para matar uma screen completamente, utilize o comando:

CTRL + A + K

 

Espero que tenham compreendido um pouco do que é possível fazer com a screen... Eu recomendo muito que utilizem, principalmente se trabalharem em conjunto com outras pessoas tendo acesso ao servidor. Isso facilita muitas coisas.

 

Atenciosamente,

Protimus.

3

Compartilhar este post


Link para o post
Compartilhar em outros sites

Showww @Protimus faz um tutorial de como instalar o Rag no vps, dizendo qual o melhor linux, instalando e configurando e deixando mais seguro, portas e tals...

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só pra estender um pouco o tutorial, podes também criar um script para inicializar o servidor com os consoles separados. Fica bem semelhante ao que acontece no Windows:
 

#1 - Crie um arquivo de texto com seu editor favorito. Costumo usar o "nano":

$ cd /home
$ nano iniciar-servidor

Repare que antes de criar o arquivo, entramos no diretório /home

 

#2 - Cole o seguinte código no arquivo:

#!/bin/bash
screen -d -m -S login bash -c 'cd /home/emulador && ./login-server'
screen -d -m -S char bash -c 'cd /home/emulador && ./char-server'
screen -d -m -S map bash -c 'cd /home/emulador && ./map-server'

Repare que o caminho da pasta do meu emulador é " /home/emulador ". Altere conforme o seu.

 

#3 - Vamos adicionar a permissão de execução no arquivo que acabamos de criar - a fim de evitar problemas relacionados a tal:

$ chmod u+x iniciar-servidor

 

#4 - Com o seu servidor desligado, simplesmente rode o arquivo com o "bash" - claro que vamos executar isso no diretório que o criamos (/home):

$ ./iniciar-servidor

 

Após isso, basta abrir (attach) a screen referente ao console que desejar consultar/monitorar! Seu servidor já está iniciado com as telas separadinhas:

$ screen -r login
$ screen -r char
$ screen -r map

Claro que vc vai fechar (dettach) uma screen antes de ir pra outra, blz?! :D

 

Considerações finais:

• O símbolo $ no início do comando significa que vc pode executar sem a necessidade de privilégios de administrador (sudo);

• Pode-se criar um serviço para rodar seu servidor automaticamente, caso seu host seja reiniciado fora de seu planejamento (Queda de energia, manutenção, e bla, bla, bla) - Pesquise no google de acordo com o Linux que vc usa;

• Pra retornar uma lista de todos as telas (screen) ativas, basta rodar o seguinte comando:

$ screen -ls

• Se sua conexão cair enquanto vc está com uma sessão aberta (screen), ao reconectar-se não vai ter acesso ao console referente a tal sessão do screen. Tanto que ao listar as sessões, vc verá uma com status "Attached". Daí basta rodar o comando pra sair da sessão e entrar nela novamente.

• Se seguir as dicas certinho e ainda assim falhar, provável que vc não tenha a permissão de execução nos arquivos login-server / char-server / map-server. Daí basta rodar os seguintes comandos:

$ chmod u+x login-server
$ chmod u+x char-server
$ chmod u+x map-server

 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar Agora
Entre para seguir isso  
Seguidores 0