我在Mac终端上运行一个PHP脚本,需要花费数小时才能运行。它会非常快地消耗内存,过了一会儿,回滚会被截断。终端上的设置:向后滚动 - 限制为可用内存。
有没有办法自动将输出流式传输(或只是保存)到文件中(无论是在本地磁盘上还是在外部硬盘驱动器上)。此外,我意识到在重新启动我的com之前内存不会被清除(我的Finder在一段时间后在我的硬盘驱动器上显示0空间但是当我重新启动我的com时它变为20GB)。保存输出后有没有办法清除它?
将时间戳也包含在文件中会很好。
答案 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 &