远程运行最怕断电,训练了几个小时的数据说没就没,或者停止运行。 用nohup 记录代码的输出,还可以不受断电的影响。 方法 1. 用nohup 运行一个python文件 nohup python -u main.py > nohup.out 2>&1 & 除了main.py 换成自己的文件名,nohup.out 也可以改为其他名字, nohup1.out等。其余照搬。不要问我意思,我也不太懂 2.运行后出现的结果是一行xxxx 3.想要实时看到输出结果就再写一行代码,如上图 tail -fn 50 nohup.out 这样就ok了 4.如果想停止运行代码, 需要查看进程,然后kill 在IT行业中,特别是对于远程服务器管理和自动化任务执行,确保程序能够在后台持续运行而不受终端关闭或网络中断影响是非常重要的。`nohup`(no hang up)命令是Linux和Unix系统中用于实现这一目标的一个工具。当您在命令行中运行`nohup`时,它会忽略所有挂断信号(SIGHUP),即使用户退出终端,程序也会继续运行。这对于长时间运行的Python脚本尤其有用,例如在进行大数据处理、机器学习训练或持续服务提供时。 在标题和描述中提到的方法中,使用`nohup`运行Python文件的步骤如下: 1. **运行Python文件**: 使用`nohup`命令,将Python脚本`main.py`放入后台执行,并将标准输出(stdout)和标准错误(stderr)重定向到名为`nohup.out`的日志文件中。命令格式如下: ``` nohup python -u main.py > nohup.out 2>&1 & ``` `-u`选项用于无缓冲模式运行Python,使得输出即时可见。`nohup.out`可以替换为您自定义的文件名。`2>&1`表示将标准错误重定向到标准输出,`&`在末尾表示将命令放入后台执行。 2. **查看输出结果**: 要实时查看`nohup.out`中的输出,可以使用`tail`命令与参数`-f`跟踪文件的末尾并显示最新内容,例如: ``` tail -fn 50 nohup.out ``` 这将显示最后50行输出,实时更新。 3. **停止运行代码**: 若要终止后台运行的Python进程,首先需要找到该进程的PID(进程ID)。可以使用`jobs`命令查看当前会话的后台进程,或使用`ps`命令全局搜索。一旦找到进程ID,使用`kill`命令发送信号以结束进程,例如: ``` kill -9 PID ``` 其中`PID`是你要杀死的进程的ID。 关于`nohup`的一些常见问题和解决方案: - **挂起运行无效**:有时候,在使用`nohup`后立即关闭终端窗口,程序并没有真正后台挂起。解决方法是在执行`nohup`命令后,再输入一次`exit`,确保会话结束,程序才会继续在后台运行。 - **日志文件写入不及时**:在某些情况下,`nohup`重定向的输出可能不会立即写入文件。这可能是由于缓冲区满或其他原因。可以尝试使用`unbuffer`或`stdbuf`工具来调整缓冲行为,或者在Python代码中显式调用`sys.stdout.flush()`和`sys.stderr.flush()`来强制刷新输出。 - **log不刷新**:当使用`nohup`时,日志可能不会自动刷新。可以使用`tail -f`来实时查看输出,或者在Python代码中增加刷新机制,如定时调用`os.fsync()`。 总结来说,`nohup`是Linux系统中用于后台运行程序的重要工具,特别适合需要长时间运行且不受用户会话影响的Python脚本。通过正确使用`nohup`,你可以避免因终端断开或意外情况导致的数据丢失或任务中断。同时,掌握如何实时查看输出和终止进程也是管理远程任务的关键技能。





























- 粉丝: 6
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 大数据最短路径算法在预警工作中的应用研究.docx
- 人工智能这样增进社会公益.docx
- plc全自动洗衣机的控制设计.doc
- 蒙赛尔服饰有限公司项目管理招标书.doc
- 大数据时代信息与计算科学专业数据分析人才培养探析高.docx
- 华科电气大四matlab大作业w.docx
- 科学与工程计算软件项目可行性报告.docx
- 计算机技术在电子商务发展中的地位.docx
- 届信息管理电子商务.doc
- 软件工程—复试总结分析.doc
- 学生学籍管理系统(数据库系统)(SQL)52295.doc
- MS-C51系列单片机的各种资料.doc
- 答题系统的题库编辑工具-WPF-电脑桌面程序-项目源码
- 学习《统计学习方法》与《机器学习》的笔记及代码实现
- 步步为营的项目管理DOC.doc
- Ku-Ka双频段微波网络设计方案.doc



评论0