在cgi-Ubuntu中运行并回显lsof时没有显示输出
我最近开始使用cgi。由于我必须显示某些端口的端口使用信息,因此我编写了以下代码:在cgi-Ubuntu中运行并回显lsof时没有显示输出,ubuntu,cgi,port,pid,lsof,Ubuntu,Cgi,Port,Pid,Lsof,我最近开始使用cgi。由于我必须显示某些端口的端口使用信息,因此我编写了以下代码: #!/bin/bash echo "Content-type: text/html" echo "" echo "<html><head><title>PortInfo</title></head><body><center>" echo "<h1>Port 80 Usage Info</h1>" #m
#!/bin/bash
echo "Content-type: text/html"
echo ""
echo "<html><head><title>PortInfo</title></head><body><center>"
echo "<h1>Port 80 Usage Info</h1>"
#method1
echo "<pre> $(lsof -i :80) </pre>"
#method2
echo "$(lsof -i :80 > /home/shine/Desktop/tmp.txt)"
echo "<pre> $(cat /home/shine/Desktop/tmp.txt) </pre>"
echo "<center>Information generated on $(date)</center>"
echo "</center></body></html>"
#/bin/bash
echo“内容类型:文本/html”
回声“”
回声“PortInfo”
回显“端口80使用信息”
#方法1
回声“$(lsof-i:80)”
#方法2
echo“$(lsof-i:80>/home/shine/Desktop/tmp.txt)”
echo“$(cat/home/shine/Desktop/tmp.txt)”
echo“在$(日期)生成的信息”
回声“”
方法1:
这里的问题是,echo“$(lsof-i:80)”
没有给出任何输出
<?php
$output80 = shell_exec("cat '/home/shine/reports/port80.txt'");
echo "<pre>$output80</pre>";
$output3000 = shell_exec('cat "/home/shine/reports/port3000.txt"');
echo "<pre>$output3000</pre>";
?>
方法2:
在这种方法中,echo“$(lsof-i:80>/home/shine/Desktop/tmp.txt)”
从未像预期的那样在桌面上创建名为tmp.txt的文件
重要提示:
上述两种方法在终端中执行后都能完美运行。因此我找到了我正在搜索的答案,更像是另一种选择 有人在某个地方提到了一些关于cron脚本的事情,所以,我做了以下工作 步骤一: 为nano编辑器输入
2
添加以下行:
注意:以上代码行将生成两个包含端口80和3000信息的文本文件
每分钟在当前用户的主目录中
ctrl+o
,输入
,ctrl+x
保存并退出
第二步:
在apache的www目录中
使用以下代码创建一个php文件
所以我找到了我一直在寻找的答案,更像是另一种选择 有人在某个地方提到了一些关于cron脚本的事情,所以,我做了以下工作 步骤一: 为nano编辑器输入
2
添加以下行:
注意:以上代码行将生成两个包含端口80和3000信息的文本文件
每分钟在当前用户的主目录中
ctrl+o
,输入
,ctrl+x
保存并退出
第二步:
在apache的www目录中
使用以下代码创建一个php文件
* * * * * lsof -i :80 > /home/shine/port80.txt
* * * * * lsof -i :3000 > /home/shine/port3000.txt
<?php
$output80 = shell_exec("cat '/home/shine/reports/port80.txt'");
echo "<pre>$output80</pre>";
$output3000 = shell_exec('cat "/home/shine/reports/port3000.txt"');
echo "<pre>$output3000</pre>";
?>