当我不主动使用计算机时,R 脚本停止 运行

R script stops running when I am not actively using the computer

我正在 运行 编写一个脚本,用于对 glmer 模型执行自动向后选择。脚本 运行 的连续 drop1() 命令,在每一步后自动删除具有最高 p 值的预测变量。非常耗时所以想留到运行过夜,但是R在我离开电脑的时候就停止了运行ning。

我是雪豹中的 运行ning R 3.1.1。我已经设置了系统偏好设置以防止计算机休眠,并且我还在终端中通过 运行ning "pmset noidle" 来防止休眠。尽管如此,当我将我的脚本留给 运行 时,它会在我最后一次 activity(在任何应用程序中)后静静地暂停大约 45 分钟,并在我早上再次开始使用计算机时静静地恢复。我可以大致判断脚本何时处于活动状态,因为它会定期打印时间戳。我在这个 post 的底部粘贴了输出的示例片段(主要是为了让人们可以看到时间戳)。我知道我收到了一些与模型拟合相关的警告,但我很确定这些不会导致 7.5 小时的延迟!

其他人也遇到过这种情况吗?关于如何在我离开计算机时保持我的脚本 运行ning 的任何建议?我是该网站的新手,所以请让我知道我可以提供哪些额外信息。

[1] "Wed Feb 25 21:31:59 2015"
Single term deletions

Model:
Pref ~ Nut * Subfamily + Nut * Sex + Subfamily * Sex + DrinkDur + 
    TrialTime + holdDur + FeedOrder + (1 | SpCode/Indiv)
              Df    AIC    LRT   Pr(Chi)    
<none>           809.07                     
DrinkDur       1 810.77  3.703   0.05433 .  
TrialTime      1 807.06 -0.011   1.00000    
holdDur        1 807.37  0.306   0.58036    
FeedOrder      1 810.24  3.172   0.07490 .  
Nut:Subfamily 32 820.47 75.404 2.315e-05 ***
Nut:Sex        4 843.44 42.375 1.395e-08 ***
Subfamily:Sex  8 809.06 15.995   0.04245 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

[1] "Now dropping TrialTime"
[1] "Wed Feb 25 22:39:51 2015"
Single term deletions

Model:
Pref ~ Nut + Subfamily + Sex + DrinkDur + holdDur + FeedOrder + 
    (1 | SpCode/Indiv) + Nut:Subfamily + Nut:Sex + Subfamily:Sex
              Df    AIC    LRT   Pr(Chi)    
<none>           807.06                     
DrinkDur       1 808.72  3.665   0.05556 .  
holdDur        1 805.33  0.276   0.59950    
FeedOrder      1 808.19  3.134   0.07667 .  
Nut:Subfamily 32 818.18 75.125 2.523e-05 ***
Nut:Sex        4 841.42 42.360 1.405e-08 ***
Subfamily:Sex  8 807.18 16.125   0.04062 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
[1] "Now dropping holdDur"
[1] "Thu Feb 26 00:39:02 2015"
Single term deletions

Model:
Pref ~ Nut + Subfamily + Sex + DrinkDur + FeedOrder + (1 | SpCode/Indiv) + 
    Nut:Subfamily + Nut:Sex + Subfamily:Sex
              Df    AIC    LRT   Pr(Chi)    
<none>           805.33                     
DrinkDur       1 806.85  3.519   0.06066 .  
FeedOrder      1 806.47  3.134   0.07667 .  
Nut:Subfamily 32 816.48 75.144 2.508e-05 ***
Nut:Sex        4 839.69 42.357 1.407e-08 ***
Subfamily:Sex  8 805.55 16.220   0.03934 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
[1] "Now dropping FeedOrder"
[1] "Thu Feb 26 08:04:21 2015"
There were 50 or more warnings (use warnings() to see the first 50)
Single term deletions

Model:
Pref ~ Nut + Subfamily + Sex + DrinkDur + (1 | SpCode/Indiv) + 
    Nut:Subfamily + Nut:Sex + Subfamily:Sex
              Df    AIC    LRT   Pr(Chi)    
<none>           806.47                     
DrinkDur       1 808.10  3.636   0.05655 .  
Nut:Subfamily 32 819.11 76.647 1.574e-05 ***
Nut:Sex        4 840.14 41.678 1.945e-08 ***
Subfamily:Sex  8 806.69 16.222   0.03931 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
[1] "Now dropping DrinkDur"
[1] "Thu Feb 26 09:48:59 2015"
Single term deletions

Model:
Pref ~ Nut + Subfamily + Sex + (1 | SpCode/Indiv) + Nut:Subfamily + 
    Nut:Sex + Subfamily:Sex
              Df    AIC    LRT   Pr(Chi)    
<none>           808.10                     
Nut:Subfamily 32 821.02 76.918 1.446e-05 ***
Nut:Sex        4 842.05 41.944 1.713e-08 ***
Subfamily:Sex  8 807.25 15.147   0.05635 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
[1] "Now dropping Subfamily:Sex"
[1] "Thu Feb 26 10:02:58 2015"
Single term deletions

Model:
Pref ~ Nut + Subfamily + Sex + (1 | SpCode/Indiv) + Nut:Subfamily + 
    Nut:Sex
              Df    AIC    LRT   Pr(Chi)    
<none>           807.25                     
Nut:Subfamily 32 829.94 86.695 6.160e-07 ***
Nut:Sex        4 849.83 50.576 2.737e-10 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

考虑到您用来防止计算机进入睡眠状态的选项(您是否还禁用了屏幕保护程序?),我不确定您为什么会遇到这个问题。

让我们解决这个问题,而不是试图弄清楚为什么你的计算机进入睡眠或空闲状态,尽管你试图通过设置阻止这种情况。

这是你应该做的:

  1. 打开一个终端window(你可以在Spotlight中找到它)
  2. 键入 screen 以启用 multiplexing screen program,这对于持久性很有用(主要用于远程连接到 Linux 服务器,但在这里也很有用)
  3. 运行 终端中的脚本 window,为您的特定 R 安装和脚本位置编辑以下命令: /usr/bin/Rscript "/Users/usr/Documents/longscript.R"

这应该可以解决问题。如果您想格外小心或有任何问题,try running Caffeinate first.