gpt4 book ai didi

php - 在 HTML/PHP 中实现 'kill' 按钮

转载 作者:行者123 更新时间:2023-11-28 04:39:41 24 4
gpt4 key购买 nike

我目前正在开发一个 PHP UI,用于收集信息、解析信息、将其发送到另一个程序、收集输出并将其呈现给用户。

通常它工作得很好。但有时,另一个程序可能需要很长时间才能完成(大约需要 2 到 15 个小时,我让它运行一整夜,然后在早上完成)。我想实现一个 KILL 按钮,允许用户取消程序,因为它不仅需要很长时间才能完成,而且会占用服务器并阻止用户在此期间做任何其他事情。

目前的设置方式是这样的: page1.php 收集所有用户输入。 page2.php 检查用户输入。 如果它不好,它会打印错误。 如果输入正确,它会解析它并通过系统调用将其发送给其他程序。发生这种情况时,屏幕上会出现“正在计算...”gif。程序完成后,输出会显示在页面上。

我希望 kill 按钮与计算 gif 同时(并且仅同时)出现,并且我希望它能够终止进程(并让输出反射(reflect)这样一个事实进程被杀死)。

到目前为止,我已经能够让按钮在我喜欢的时间和地点出现。但是,我无法获得我正在寻找的实际杀戮功能。目前我已经设置了它,以便使用带有在单击时执行的 javascript 函数的 html 按钮制作按钮。该 javascript 函数包含带有系统调用的 php 代码,该系统调用可以找到目标进程并杀死它们(我知道系统调用正常工作,因为我可以在我的终端窗口中使用它并且工作正常)。

相关代码如下:

startload("calculating");
$opt->run_optimization($output);
stopload("calculating");

这会设置计算 gif 和 kill 按钮,然后运行一个进行系统调用的函数,然后删除计算 gif 和 kill 按钮。

system("./optimi/optimi < $infile > $outfile");

这是对其他程序 (optimi) 的系统调用。

    print <<< KILLBUTTON

<br/>
<button type="button" onclick="kill();">Kill</button>
<br/>

<script type="text/javascript">
function kill(){
<?php
system("ps -Af | grep optimi | grep -v grep | awk '{print $2}' | xargs sudo kill");
?>
}
</script>

KILLBUTTON;

这是我的终止按钮,现在似乎什么都没做。

我应该指出,重写 optimi 程序是我想不惜一切代价避免的事情,考虑到我不是编写它的人,也没有使用它编写的编程语言的经验。

谢谢。

最佳答案

您似乎不了解网络服务器如何与您的浏览器交互。

当您向运行 php 的网络服务器发送请求时,网络服务器加载请求的文件,解释任何相关的 php 代码,然后向浏览器发送一个文本文件

如果该文本文件中有 javascript,您的浏览器将尝试解释/执行它。您不能将 php 代码放在 javascript 函数中并期望它在用户执行某些操作时执行 - 页面上的所有 php 只执行一次 - 当页面被请求时。

如果您想运行 php 代码以响应用户交互,您需要为相关 php 脚本设置一个 ajax 请求。

关于php - 在 HTML/PHP 中实现 'kill' 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10560139/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com