【发布时间】:2016-05-23 06:30:26
【问题描述】:
我有一个在后台运行的 shell 脚本,我想知道 shell 脚本执行完成并将其发送到当前在浏览器中运行的 PHP。PHP 和 shell 脚本现在没有链接。如何获取 shell脚本完成并向 PHP 发出信号
【问题讨论】:
-
那就用 cronjobs 吧!
我有一个在后台运行的 shell 脚本,我想知道 shell 脚本执行完成并将其发送到当前在浏览器中运行的 PHP。PHP 和 shell 脚本现在没有链接。如何获取 shell脚本完成并向 PHP 发出信号
【问题讨论】:
我知道这更像是一个概念性问题。想到的两种最简单的方法是:
1) 使用从 shell 脚本创建的“标志文件”。当文件存在时,这意味着脚本已经完成。当没有文件时,脚本仍然运行。或者其他方式。无论如何,这都是 shell 脚本的常用方法。 有关如何从您的 shell 脚本创建它的更多背景信息,请参阅http://www.cyberciti.biz/tips/shell-scripting-bash-how-to-create-empty-temporary-file-quickly.html
从您的 PHP 代码中,您可以测试该文件是否(不)存在。 PHP为此提供了很多功能,例如。查看file_exists ( string $filename ),查看http://php.net/manual/en/function.file-exists.php
2) 从 shell 脚本中,当您调用 php 脚本时使用 URL 参数,从您的 PHP 代码中,您读取参数并使用它。 PHP 有很多功能(例如查看$_SERVER['QUERY_STRING'])。有关使用 $_SERVER 变量的更多信息,请参阅 http://php.net/manual/en/reserved.variables.server.php
希望这会有所帮助...
【讨论】:
这里有你需要的一切、例子、解释等等。
【讨论】: