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文件, 而最后的 & 会将程序变成后台守护进程,这样运行的程序就不会随着终端挂掉而停止。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ perl和python有什么区别09/21
- ♥ python break 和 continue 的比较09/13
- ♥ 在学习python之前我应该自学C吗?11/07
- ♥ 如何在python中创建一个包?09/16
- ♥ python中的十六进制转换与原码、反码、补码10/30
- ♥ 如何在python中重复打印多次?08/21
内容反馈