Linux 服务器 : How do I use nohup make sure job is working?

标签 linux bash nohup rscript

我所知道的和我尝试过的:我在 R 中有一个脚本(称为 GAM.R),我想在后台运行它输出 .rdata、.pdf 和 . .jpg 文件。从命令行运行它相对简单:

$ Rscript GAM.R

但是,这段代码需要很长时间才能运行,所以我很乐意将它发送到后台,即使在我注销并关闭计算机后也让它继续运行。我知道这也很简单,我的代码如下所示:

$ nohup Rscript GAM.R >/dev/null 2>&1 &

我用它来查看它是否有效:

$ fg
nohup Rscript GAM.R > /dev/null 2>&1

问题:我不知道如何检查代码是否正常工作(有没有办法让我看到它的进度?)而且我不知道输出的去向。我可以看到第一个代码的进度和输出,所以我不能离得太远。看起来第二个代码的输出并没有到达第一个代码输出的位置。

最佳答案

您的命令行将所有输出转移到 /dev/null 也就是位桶。

考虑将其转移到一个临时文件中:

   $ nohup Rscript GAM.R >/tmp/GAM.R.output 2>&1 &

然后你可以tail/tmp/GAM.R.output查看结果,默认会显示文件的最后10行。您可以使用 tail -f 来显示文件的结尾,以及实时的新输出。

请注意,/tmp/ 文件系统不能保证在重新启动之间存在。您可以将文件放在其他地方(如 ~/GAM.R.output 如果您需要确定的话。

但是请注意,如果您关闭计算机,所有处理都会中止。为此,您的机器必须继续运行,而不是休眠或关机。

关于Linux 服务器 : How do I use nohup make sure job is working?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42794756/

相关文章:

Linux : How can I print line number and column number when values do not match for tab separated files using AWK in linux

c++ - 如何仅为特定程序启用无密码 ssh

linux - 如何在 awk 中运行 grep?

linux - 后台进程bash的返回码

arrays - 如何计算find命令返回的文件数量?

python - 在 nohup.out 中看不到任何变化

linux - 当管道的第一个命令不输出时如何不输出任何内容

linux - "make oldconfig"在 Linux 内核 makefile 中究竟做了什么?

使用nohup时python脚本无法工作

python - Jupyter如何在后台运行单元格?