php脚本等待shell脚本执行完成
Posted
技术标签:
【中文标题】php脚本等待shell脚本执行完成【英文标题】:Php script waiting for shell script execution completion 【发布时间】:2016-05-23 06:30:26 【问题描述】:我有一个在后台运行的 shell 脚本,我想知道 shell 脚本执行完成并将其发送到当前在浏览器中运行的 php。PHP 和 shell 脚本现在没有链接。如何获取 shell脚本完成并向 PHP 发出信号
【问题讨论】:
那就用 cronjobs 吧! 【参考方案1】:我知道这更像是一个概念性问题。想到的两种最简单的方法是:
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
希望这会有所帮助...
【讨论】:
【参考方案2】:这里有你需要的一切、例子、解释等等。
http://php.net/manual/en/function.shell-exec.php
【讨论】:
这个答案有什么问题?它可以满足原始海报的要求。 答案是从 php 执行一个 shell 脚本,但我要求一个已经在后台运行的 shell 脚本以上是关于php脚本等待shell脚本执行完成的主要内容,如果未能解决你的问题,请参考以下文章