导出/流式传输Mac终端输出到文件

时间:2017-02-07 06:47:18

标签: macos terminal

我在Mac终端上运行一个PHP脚本,需要花费数小时才能运行。它会非常快地消耗内存,过了一会儿,回滚会被截断。终端上的设置:向后滚动 - 限制为可用内存。

有没有办法自动将输出流式传输(或只是保存)到文件中(无论是在本地磁盘上还是在外部硬盘驱动器上)。此外,我意识到在重新启动我的com之前内存不会被清除(我的Finder在一段时间后在我的硬盘驱动器上显示0空间但是当我重新启动我的com时它变为20GB)。保存输出后有没有办法清除它?

将时间戳也包含在文件中会很好。

1 个答案:

答案 0 :(得分:0)

在后台运行您的PHP脚本(如果您希望能够注销并保持运行,甚至还可以使用nohup),并将输出保存到磁盘上的日志文件中,如下所示:

someScript.php > log.txt &

现在,如果您想稍后观看日志文件的增长,只需​​使用-f选项tail 关注日志:

tail -f log.txt

如果您发现一切正常且作业仍在运行,请按 CTRL + C ,您将停止关注该作业,但作业将继续。如果您想稍后再看,请再次运行tail

如果您想查看您的脚本是否已通过,请说明"PHASE 2",只需grep就可以了解日志文件中的内容:

grep "PHASE 2" log.txt

如果您想为这些行添加时间戳,我建议您使用属于 moreutils ts实用程序,因此希望您使用自制程序进行管理软件包(正如任何合理的Mac用户所做的那样),您可以使用以下方法安装它:

brew install moreutils

然后你可以这样做:

someScript.php | ts > log.txt &