我想让我的脚本在我的服务器后台运行。我对 nohup 感到愤怒。我有我的 script.py。我这样运行:
python3 script.py&
即使我关闭终端,它也会在后台运行。该脚本每秒将数字写入文件/tmp/aaa.txt
,从 0 开始。我与服务器断开连接并重新连接到它,结果显示数字超过 3000(超过 50 分钟)。所以我的问题是,我真的需要使用吗nohup
?如果是/否为什么?
# 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
我的脚本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)
答案1
该操作由 bash 选项控制huponexit
。检查它的设置,如果设置为“on”,它将在退出时向所有子进程发送一个叹息。如果没有,它应该继续运行。
$ shopt | grep huponexit
huponexit off