<?php $process = shell_exec("ps aux | grep 'ntpd' | grep -v 'grep'"); if($process){ echo 'NTP服务正在运行'; }else{ echo 'NTP服务没有运行'; } $action = $_POST['action']; switch($action){ case "start": $output = shell_exec("/etc/init.d/S49ntp start"); echo $output; break; case "stop": $output = shell_exec("/etc/init.d/S49ntp stop"); echo $output; break; case "restart": $output = shell_exec("/etc/init.d/S49ntp restart"); echo $output; break; } $ntpdata = shell_exec("ntpq -p"); header('Content-Type: text/plain'); echo $ntpdata; ?> html调用此php代码后 效果是这样的 NTP服务正在运行 remote refid st t when poll reach delay offset jitter ============================================================================== 192.168.6.8 .STEP. 16 u 247 64 0 0.000 +0.000 0.015 怎样才能让ntpq -p的内容打印出来
时间: 2023-08-09 10:05:14 浏览: 90
可以将 PHP 返回值输出到一个指定的 `<pre>` 元素中,例如:
```
<button id="ntpqBtn">加载NTP服务器状态</button>
<pre id="ntpdata"></pre>
<script>
$(document).ready(function() {
function loadNtpData() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var ntpData = document.getElementById("ntpdata");
ntpData.innerHTML = this.responseText;
}
};
xhttp.open("GET", "ntp.php", true);
xhttp.send();
}
$('#ntpqBtn').click(function() {
loadNtpData();
setInterval(loadNtpData, 1000);
});
});
</script>
```
这里使用了一个 `<pre>` 元素来显示 `ntpq -p` 命令的输出结果,然后在按钮被点击时,首先调用一次 `loadNtpData()` 方法获取 NTP 数据并将其显示在浏览器上,然后再通过 `setInterval()` 方法每隔1秒自动调用一次 `loadNtpData()` 方法来更新 NTP 数据。
阅读全文