我正在使用CGI+HTML制作一个运行外部Perl程序的web应用程序,为此我正在使用该系统。该程序大约需要60分钟才能完成,每个步骤都记录在一个文件中。我想在网络浏览器上实时显示这些步骤。我尝试使用以下命令:
system('tail -f ' $filename);
这个命令工作得很好,但是,它不存在以显示页脚。我试过了-
'tail -fq $filename'
我感谢任何建议或评论。
提前感谢!
我多年来在shell CGI脚本中使用的相当粗糙的解决方案非常简单:我使用两个脚本:第一个CGI脚本在后台启动进程,nohup重定向到某个日志文件,并立即打印简单的HTML将浏览器重定向到第二个脚本:
<html>
<head>
<meta http-equiv="refresh" content="0;URL='/cgi-bin/showprogress.cgi'" />
</head>
</html>
浏览器被重定向到showprogress.cgi,然后showprogress.cgi将tail-n20日志文件打印为HTML
<html>
<head>
<meta http-equiv="refresh" content="10;URL='/cgi-bin/showprogress.cgi'" />
</head>
<body>
<pre>
[last 20 logfile lines]
</pre>
</body>
</html>
没有javascript或任何复杂的东西,元刷新工作得很好。
不要使用尾部-f,它不起作用。