Sua pergunta foi um pouco carente de detalhes, então estou assumindo que você quer dizer que você digitou o comando para iniciar seu servidor no console do seu Pi, e ele foi executado em primeiro plano.
Se este for o caso, você tem cinco opções, ordenadas pela complexidade para implementar:
-
Use a resposta do @ f-tussel . Como você é novo no GNU / Linux, o símbolo
&
informa ao shell que ele deve executar o processo em segundo plano e retornar ao prompt imediatamente, em vez do que normalmente faz (que é esperar que o comando termine antes de retornar ao prompt). Isso é tecnicamente chamado de bifurcar o comando para o plano de fundo. -
Faça o que você fez antes, mas faça isso em um processo
screen
. Basicamente, isso implica em instalarscreen
(sudo apt-get install screen
em seu sistema Debian), e algum tempo antes de você digitar o comando para iniciar seu servidor, você executascreen
. Isso abre um novo shell que você pode reconectar posteriormente, mesmo se sua conexão PuTTY morrer. Então vai agir como se você nunca tivesse desconectado.Se você não estiver familiarizado com
screen
, faça algumas leituras em Wikipédia e nas páginas de manual . Você também pode realizar a mesma coisa comtmux
. -
Use o módulo para sempre node.js. Veja link para onde eu consegui isso.
-
Coloque seu servidor em um processo
screen
em segundo plano. Isso significa que você criará uma nova sessãoscreen
em segundo plano, mas nunca anexará a ela. E, em vez de executar um shell, o processo de tela estará executando seu servidor. Aqui está o que você vai digitar:screen -d -m exec_your_server --put-args-here
Se quiser, você pode fazer isso na inicialização. Basicamente você precisa colocar o comando screen no arquivo
/etc/rc.local
ou/etc/rc.d/rc.local
, esqueci qual. Se você tiver problemas para fazer isso, faça uma nova pergunta.Novamente, você pode fazer isso com
tmux
também. -
Escreva um script de serviço. Já que você está no Debian e é novo, você está provavelmente usando o padrão
init
que o Debian fornece, que é o System V Init. Eu nunca olhei para arquivos de serviço para System V Init, apenas systemd e um pouco Upstart, então não posso ajudá-lo aqui. Faça uma nova pergunta se você quiser fazer isso.Esta é a maneira menos "hacky", IMHO, e isso é o que você deve considerar se estiver executando seu servidor a longo prazo, pois você pode gerenciá-lo como outros serviços no sistema por meio de comandos como
sudo service your_server stop
, etc. Fazer isso desta maneira iniciará seu servidor na inicialização automaticamente e você não precisará descreen
, porque ele também acontece automaticamente em segundo plano.Ele também é executado automaticamente como root, o que é perigoso - você deve colocar a lógica em seu servidor para eliminar os privilégios que você tem, tornando-se um usuário sem privilégios que você criou especificamente para o servidor. (Isto é, caso o servidor seja comprometido - imagine se alguém pudesse rodar as coisas como root, através do seu servidor! Eugh. Esta questão faz um bom trabalho de falar sobre isso.)