Eu realmente preciso usar nohup? [duplicado]

0

Gostaria de deixar meu script em segundo plano no meu servidor. Eu vermelho sobre nohup. Eu tenho meu script.py. Eu corro assim:

python3 script.py&

Ele roda em segundo plano mesmo quando eu fecho o terminal. O script escreve números para o arquivo /tmp/aaa.txt a cada segundo, iniciado a partir de 0. Eu me desconecto do servidor e reconecto a ele e semeio que há números acima de 3000 (mais de 50 minutos). Então, minha pergunta é: eu realmente preciso usar nohup ? Se sim / não por quê?

# hostnamectl                                                                                                                                                                                                          
   Static hostname: my-server                                                                                                                                                                                                          
         Icon name: computer-vm                                                                                                                                                                                                              
           Chassis: vm                                                                                                                                                                                                                       
        Machine ID: XXXX                                                                                                                                                                                         
           Boot ID: XXXX                                                                                                                                                                                         
    Virtualization: vmware                                                                                                                                                                                                                   
  Operating System: Ubuntu 16.04.3 LTS                                                                                                                                                                                                       
            Kernel: Linux 4.4.0-116-generic                                                                                                                                                                                                  
      Architecture: x86-64 

Meu script script.py :

import time

i = 0

while True:
  f = open('aaa.txt', 'a+')
  f.write('Doing somethign: {0}\n'.format(i))
  f.close()
  i = i + 1
  time.sleep(1)
    
por dorinand 25.06.2018 / 22:46

1 resposta

2

A ação é controlada pela opção bash huponexit . Verifique para ver o que está definido, se definido como "on" ele enviará um sighup para todos os processos filhos na saída. Se não, deve continuar funcionando.

$ shopt | grep huponexit
huponexit       off
    
por 25.06.2018 / 23:32