在cgi-Ubuntu中运行并回显lsof时没有显示输出

在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

我最近开始使用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>"

#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>";

?>