Como deixar um script rodando em um servidor mesmo depois de sair da seção ? [RESOLVIDO]

1. Como deixar um script rodando em um servidor mesmo depois de sair da seção ? [RESOLVIDO]

Alexsandro Junior Escarpetti
Alexsandrojunior

(usa Lubuntu)

Enviado em 28/12/2022 - 21:32h

Pessoal, consegui um servidor gratuito (ssh) ,na Oracle, mas estou aprendendo a mexer com ele, não tinha mexido antes...
eu quero deixar um arquivo .py (python) rodando no servidor, para ficar rodando automaticamente, até depois de eu sair da seção, mas encontrei um problema:

Quando eu coloco o arquivo para rodar, através do comando normal: "python arquivo.py", ele fica rodando, nesse caso é só um algoritmo de teste, então ele só fica rodando um contador, no caso esse contador está dentro de um "while True" sem "breack", para testar, o problema é que eu não tenho como sair dessa execução, ou seja, deixar ele executando e fazer outra coisa, a solução foi fechar a conexão fechando o Putty. Mas depois, quando eu entrei de novo e dei o comando PS, para mostrar os processos em execução, o meu arquivo não esteva rodando no servidor...

Alguém sabe como eu faço ?


  


2. MELHOR RESPOSTA

João Pedro Fernandes
joopedro

(usa Ubuntu)

Enviado em 30/12/2022 - 11:09h

Uso ssh para comandar máquinas remotamente na faculdade, não sei explicar exatamente os parâmetros da função, mas a chamada "nohup" executa o script mesmo depois de encerrada a conexão.

nohup python SEU_SCRIPT.py > output.txt > error.txt < /dev/null &

A saída será escrita em um arquivo output.txt e erros no arquivo error.txt (novamente, não sei exatamente explicar o porquê). Além disso, quando você chamar a função, irá imprimir um código PID na tela do processo que foi criado com o script rodando, para verificar se ele está sendo executado pode usar o comando "top", que mostra os processos da máquina ou digitar "ps -p PID" para verificar especificamente o processo criado.

3. Re: Como deixar um script rodando em um servidor mesmo depois de sair da seção ? [RESOLVIDO]

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 29/12/2022 - 11:10h


Se o programa vai só rodar depois que vc deconectar vc usa o comando nohup. Se você vai conectar depois p ver ele em execução vc usa um gerenciador de sessão como o screen.


4. Re: Como deixar um script rodando em um servidor mesmo depois de sair da seção ? [RESOLVIDO]

Paul Leroy
paul_leroy

(usa Manjaro Linux)

Enviado em 31/12/2022 - 12:06h

Para deixar ele executando e ir fazer outra coisa você pode usar Ctrl+Z e depois digitar "bg" no terminal. Você pode também usar o tmux, com ele você pode ter várias "janelas" na mesma sessão. As sessões do tmux continuam executando, então quando você fechar a conexão e abrir uma outra é possível reconectar com a sessão existente.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts