Existem duas formas de resolver o seu problema:
Executa a tarefa como um serviço systemd
Parece que esta é uma tarefa longa que deve ser realmente um serviço que é iniciado na inicialização, é reiniciada pelo sistema init quando falha e deve ter um registro apropriado para o journald.
Para que isso aconteça, siga estas etapas:
Crie um arquivo /lib/systemd/system/python-we.service
e insira o seguinte conteúdo:
[Unit]
Description=Python We Job
After=network-online.target
[Service]
Type=simple
Restart=on-failure
RestartSec=10
ExecStart=/usr/bin/python /full/path/to/we.py
# Make sure stderr/stdout is captured in the systemd journal.
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
Depois de criar o arquivo, execute os seguintes comandos para registrar o arquivo python-we.service
no systemd, habilitá-lo (para que ele seja iniciado após uma reinicialização) e, finalmente, iniciá-lo.
systemctl daemon-reload
systemctl enable python-we
systemctl start python-we
Se você usar o systemd, poderá ler os registros por meio de journalctl -u python-we
.
Executar na tela (não recomendado)
Inicie uma sessão de tela (apenas digite screen
) e nesta sessão de tela inicie seu trabalho. Desta forma, a sessão de tela só existe se você fechar o shell dentro da sessão de tela e você pode observar os logs dentro da sessão de tela.
Como eu disse: essa não é uma maneira recomendada de executar um serviço, pois é um tipo de hacky. Sua sessão de tela vai inchar e o serviço não será reiniciado automaticamente no caso de falhar.