linux下直接使用python运行的文件test.py即可。如果使用nohup python test.py,会报错。报错大致是Import error: No module named XXX。
出现这种情况是因为nohup找到的python路径不对导致的。
那么nohup找的的路径是什么呢?
新建了一个python文件,文件内容是这样的:
import sys
print(sys.path)
当使用python test.py运行文件时,输出是:
当使用nohup python test.py时,输出是这个样子的
也就是说使用python3直接运行python命令,但是nohup找到的python路径是python2。这时候需要指定python版本才能运行py文件。
这时,只要指定python版本来运行nohup文件即可:
也就是:nohup //usr/local/python3/bin/python3 test.py > log.txt2>&1 &。
其中1代表标准输出,2代表标准错误输出,2>&1是将标准错误输出重定向到标准输出,即把标准输出和标准错误输出都输出到log.txt文件, 而最后的 & 会将程序变成后台守护进程,这样运行的程序就不会随着终端挂掉而停止。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 用 Python 把你的朋友变成表情包01/27
- ♥ Python 中的 logging 日志级别是什么12/13
- ♥ python如何摆脱空格和回车?10/25
- ♥ 子类可以在python中调用父类的方法吗?12/07
- ♥ 如何在python中计算最大回撤09/02
- ♥ python数值类型包括什么01/03
内容反馈