我用JavaScript编写了一个HTML页面,一个PHP文件和一个shell脚本 他们都在同一台机器上 我运行shell脚本,它将用Firefox打开html页面, 当JavaScript完成时,它将POST到getdata.php
<form id="hidden_form" method="POST" action="getdata.php" ></form>
getdata.php将执行某些操作,然后它会向shell脚本发送信号
以上是正常行为,我害怕在某个时候,PHP或JavaScript遇到错误并且不向shell脚本发送信号
有没有什么好的简单方法让shell脚本检测JavaScript是否正在运行?
下面提到的一个人我可以让javascript定期向服务器发送请求,比如每2分钟一次,但是如何让shell脚本注意到这个/获取信号?
答案 0 :(得分:0)
没有
请记住:Javascript在客户端浏览器上远程运行; PHP(和您的shell脚本)在服务器上。
您可以做的事情是在您发送网页时设置警报(在服务器上),并在触发时调用警报处理程序:
答案 1 :(得分:0)
如果您的JavaScript正在运行一个长到进程的脚本,您可能会在设定的时间间隔内间歇性地向服务器提交请求。如果在设定的时间段后没有看到请求...(间隔x2或w / e)并且在完成时尚未收到信号,则可以假设JavaScript本身已停止运行/损坏。
setInterval("methodofcommunicatingtotheserver", 1000);
等。
答案 2 :(得分:0)
..如前所述:否。
在这种情况下,您最好的选择是:
它没有为开箱即用的bash脚本提供绑定,但它很容易从其他语言中使用,例如Python(或PHP,他们说)。
答案 3 :(得分:0)
正如有人建议的那样,您可以使用setInterval轮询服务器以查看javascript引擎是否仍在运行,但这也可能意味着只有执行setInterval的javascript线程才是实际运行的(取决于可能出现的错误类型)出现)。您可以将帖子发送到“status.php”,它会触摸/写入磁盘上的文件,bash脚本可以轮询该文件以查看它是否定期更新。
但我建议你研究phantomjs之类的内容,它可以让你解决这些问题。