首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在HTML/PHP中实现“杀死”按钮

在HTML/PHP中实现“杀死”按钮
EN

Stack Overflow用户
提问于 2012-05-12 00:39:25
回答 1查看 1.3K关注 0票数 1

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

正常情况下它工作得很好。但有时,另一个程序可能要花费很长时间才能完成(大约2到15个小时,我让它在一夜之间运行,它在早上就完成了)。我想要实现一个杀死按钮,允许用户取消程序,因为它不仅要花很长时间才能完成,而且还要绑定服务器,同时阻止用户做任何其他事情。

当前设置它的方式如下: page1.php收集所有用户输入。the检查用户输入。如果是坏的,它会打印错误。如果输入是好的,它会解析它并通过一个系统调用将它发送到另一个程序。当这一切发生时,一个“算计.”gif出现在屏幕上。程序完成后,输出将显示在页面上。

最理想的是,我希望“杀死”按钮与计算的gif同时出现(并且只在同一时间出现),并且我希望它能够杀死进程(并让输出反映进程已被终止的事实)。

到目前为止,我已经能够让按钮出现在我想要的时间和地点。然而,我没有能够得到实际的杀人功能,我正在寻找。目前,我已经设置了它,以便使用带有javascript函数的html按钮创建按钮,该函数在单击时执行。javascript函数包含带有系统调用的php代码,系统调用查找目标进程并杀死它们(我知道系统调用工作正常,因为我可以在我的终端窗口使用它,它工作得很好)。

以下是相关代码:

代码语言:javascript
运行
复制
startload("calculating");
$opt->run_optimization($output);
stopload("calculating");

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

代码语言:javascript
运行
复制
system("./optimi/optimi < $infile > $outfile");

这是对另一个程序的系统调用(最优)。

代码语言:javascript
运行
复制
    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;

这是我的杀人按钮,现在似乎什么也没做。

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

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2012-05-12 00:47:13

您似乎不明白web服务器是如何与浏览器交互的。

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

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

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

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10560139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档