我需要使用fabfile从远程盒子上启动一些程序并获取结果,但由于程序需要很长时间才能完成,所以我希望它在后台运行,这样我就不必等待。 因此,我尝试使用os.fork()来使其工作。 问题是,当我ssh到远程盒子上并在那里使用os.fork()运行程序时,程序可以正常在后台工作,但是当我尝试使用fabfile的run和sudo远程启动程序时,os.fork()无法工作,程序会默默地死掉。 所以我切换到Python-daemon来将程序变成守护进程。 长时间以来,它完美地工作。 但现在当我开始让我的程序读取一些Python shelve字典时,python-daemon就不能再工作了。 看起来如果您使用python-daemon,则shelve字典无法正确加载,我不知道为什么。 除了os.fork()和Python-daemon之外,有没有其他解决我的问题的方法?
nohup
命令将其在后台启动,如何? - Sven Marnach