我有一个php脚本,我在命令行上运行。它需要大约10个小时才能完成,所以我让它在screen
上运行,这样我就可以分离它,并在运行过程中检查它的进度。我还想把它的输出记录到一个文件中。一种解决方案是使用
screen
运行脚本。[chiliNUT@server ~]# php myscript.php > log.txt
,然后用
查看实时输出[chiliNUT@server ~]# tail -f ./log.txt
但唯一的问题是,在某些地方,脚本需要通过STDIN从用户输入,所以我在那部分被难住了。通常,screen
ed脚本只是很好地等待我签入并在需要时提供输入。
我怎么能
记录脚本到文件
并且能够在运行时查看实时输出
并在需要时为STDIN提供输入?
我不想以任何方式修改原始脚本。
听起来您可能需要tee
。例如:
php myscript.php | tee log.txt
基本上,tee
将其标准输入复制到命令行上给出的文件中。所以你会看到所有的输出像往常一样滚动,加上你得到了重定向。如果您想添加到日志文件中(而不是在tee
启动时覆盖),则传递-a
标志。
linux tee command