python linux服务器上后台运行 & conda环境迁移
后台指定python运行python脚本
/opt/njzf/bsp/python37/python37/bin/python3.7 main.py > result.log 2>&1 &
说明:
1. 末尾的“&”:表示后台运行程序
2. “nohup” :保证程序不被挂起
3. “python”:是执行python代码的命令
4. “-u”:表示不启用缓存,实时输出打印信息到日志文件(如果不加-u,则会导致日志文件不会实时刷新代码中的print函数的信息)
5. “Job.py”:是python的源代码文件
6. “result.log”:是输出的日志文件
7. “>”:是指将打印信息指定到日志文件
8. “2>&1”:将标准错误输出转变化标准输出,可以将错误信息也输出到日志文件中(0-> stdin, 1->stdout, 2->stderr)
查看python进程
ps -ef | grep python
关闭python进程
kill -9 进程号
conda 离线环境迁移
将一台机器上的 /root/anaconda3/envs下指定环境的目录及文件 直接复制迁移到另一台机器上的 /root/anaconda3/envs下就行
激活环境: conda activate 环境名
执行: python main.py > result.log 2>&1 &
后台不挂断运行进程,即使把终端关闭了也能继续运行的进程,单单使用"&"是不行的,
因为"&"只能让进程在后台启动,如果关闭终端,这个进程还是会结束的,因此需要配合"nohup"命令使用
执行: nohup python main.py > result.log 2>&1 &
conda的env中,python3.7可以直接使用的env仅需以下四个目录:
bin、include、lib、share