如何在Mac终端查看运行中R脚本的剩余计算进度?
Mac终端查看R脚本剩余计算时间的方法
核心思路
RStudio界面卡住但进程仍在运行时,可通过终端定位R进程、追踪循环进度,结合已运行时长估算剩余时间。
具体步骤
获取R进程PID
在终端执行以下命令,找到对应脚本的R进程ID(PID,即输出中第二列的数字,注意排除带有grep R的进程):ps aux | grep R追踪当前循环进度
你的脚本中有print(i)输出当前循环次数,可通过以下方式查看实时i值:- 用
lsof查找R进程的标准输出文件:
在输出中找到lsof -p <你的R进程PID>TYPE为CHR、NAME类似/dev/ttys00X的条目,这就是进程的输出终端。 - 实时查看该文件内容:
此时就能看到脚本当前运行到的tail -f /dev/ttys00Xi值。
- 用
估算剩余时间
假设:- 当前
i值为N - 已运行时长为
T小时(比如你已运行3天即72小时) - 总循环数为60000
平均每个循环耗时为
T/N小时,剩余循环数为60000-N,因此剩余时间为:剩余时间 = (60000 - N) * (T / N)- 当前
额外提示
你的脚本存在一处小错误:setTxtProgressBar(pb,ind)应为setTxtProgressBar(pb,i),后续重启脚本时建议修正,避免进度条异常。
内容的提问来源于stack exchange,提问作者geoscience123
相关产品推荐
相关产品推荐

