把R脚本挂后台运行之后要做的事情

把R脚本挂后台运行之后要做的事情

菜鸟抱怨:我常常全时间段干活儿,期间还要上下班。路上,笔记本会断网断电息屏叠在怀里装在包里。。。这样就会导致Rstudio脚本运行中断,也一直没有把Rstudio养熟。总是运行较大数据量的运算就跟我甩脾气不干了。所以只能选择把命令挂后台,试图让大度的ubuntu帮助无知可怜的我。

每个经验的背后都是惨痛的教训。

挂后台以后,一定要检查一下R脚本是否已经在运行,因为可能会遇到

1.文件名写错
2.命令写错
3.执行命令的路径走错
4.以后我不希望遇到的任何错误方式

导致其实脚本没在运行。
然后温柔的ubuntu把报错写在了nohup日志里

一般只有在发现命令没有执行的时候才会回去找日志。

Fatal error: cannot open file ‘mydata.R’: No such file or directory

不怕苦,不怕累,就怕时间被浪费。以前我认为检查是可以做的,现在认为这是必须做的。

1.在 terminal 用 top 命令查看R是否在运行
2.检查一下nohup.log看是否有报错,如果没有,甚至显示了一部分脚本内容,也能说明脚本正在执行。这至少保证了脚本已经开始。至于中途是否会因为报错或者任何原因提前结束,不能通过这个手段预测。只能把脚本调试好了以后再挂后台。

如果所有的 nohup 的日志都会存在 nohup.log 里,如果以前有过后台挂起任务,接着写日志。所以,为了把自己的工作整理得清楚明白,这是一个锦上添花,但不是非做不可的事情:将日志重定向到自己指定的文件。

nohup Rscript mydata.R > output.log 2>&1 &

这样日志就会保存在 output.log 里。


top 命令查看进程

PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
1234 username  20   0   12345   6789   4321 S   1.2   0.5   0:05.00 process_name

这些列代表以下含义:

PID: 进程ID(Process ID),是操作系统为每个正在运行的进程分配的唯一标识符。
USER: 运行进程的用户名。
PR: 进程的优先级(Priority)。
NI: 进程的优先级调整(Nice Value),用于调整进程对CPU资源的优先级。
VIRT: 进程使用的虚拟内存(Virtual Memory)大小,包括进程使用的代码、数据和共享库的内存。
RES: 进程使用的物理内存(Resident Set Size),即实际占用的内存大小。
SHR: 进程使用的共享内存(Shared Memory)大小。
S: 进程的状态,包括运行(R,Running)、睡眠(S,Sleeping)、僵尸(Z,Zombie)等。
%CPU: 进程使用的CPU资源百分比。
%MEM: 进程使用的内存资源百分比。
TIME+: 进程运行的累计时间。
COMMAND: 运行的命令或进程的名称。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值