1、问题:
python程序使用nohup在Linux后台运行时,nohup python /usr/local/python/test.py > /usr/local/python/test.log 2>&1 &,
有些函数没有执行,导致运行结果错误,而我在Linux python程序目录下使用python test.py则结果正确。
2、解决方法:
在程序头添加#! /usr/bin/env python,结果正确,#! /usr/bin/env python是为了指定python的解释器,nohup 程序后台运行的时候
如果不指定解释器就会出现问题,而python test.py就没有问题,虽然问题解决了,但还是有些不理解。
几天后,服务器断了,重新运行程序,程序结果错误,原因跟没有加入#! /usr/bin/env python相同,这下我真不知道错在哪了。
最终解决办法:
1)编写bash运行,取名为test.sh,内容如下
#! /bin/sh
python /usr/local/python/test.py &
2)在Linux上 test.sh路径下编译./test.sh,这下应该不会有问题了吧