在PHP脚本运行时查看它的输出并将其记录到一个文件中,脚本将从STDIN获取人工输入



我有一个php脚本,我在命令行上运行。它需要大约10个小时才能完成,所以我让它在screen上运行,这样我就可以分离它,并在运行过程中检查它的进度。我还想把它的输出记录到一个文件中。一种解决方案是使用

screen运行脚本。
[chiliNUT@server ~]# php myscript.php > log.txt

,然后用

查看实时输出
[chiliNUT@server ~]# tail -f ./log.txt

但唯一的问题是,在某些地方,脚本需要通过STDIN从用户输入,所以我在那部分被难住了。通常,screen ed脚本只是很好地等待我签入并在需要时提供输入。

我怎么能

  1. 记录脚本到文件

  2. 并且能够在运行时查看实时输出

  3. 并在需要时为STDIN提供输入?

我不想以任何方式修改原始脚本。

听起来您可能需要tee。例如:

php myscript.php | tee log.txt

基本上,tee将其标准输入复制到命令行上给出的文件中。所以你会看到所有的输出像往常一样滚动,加上你得到了重定向。如果您想添加到日志文件中(而不是在tee启动时覆盖),则传递-a标志。

linux tee command

最新更新