停止脚本然后重新启动它?
我从命令行运行一个 PHP 脚本。当我的终端运行时,将各种信息输出到它。
我想为它编写一个重新启动触发器,以便在调用时,它(显然)重新启动脚本。
我正在考虑让它调用其他文件,然后只是 die()
,并让其他文件调用脚本,但我希望脚本在同一终端中重新加载。
这可能吗?
There's a PHP script that I run from the command line. Outputs various information to my terminal as it chugs along.
I want to code a restart trigger for it, so that when called, it (obviously) restarts the script.
I was thinking of making it call some other file and then just die()
, and have the other file call the script, but I want the script to reload in the same terminal.
Is this possible?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以注册信号处理程序并从处理程序重新启动脚本。
看看这个 http://php.net/manual/en/function.pcntl-信号.php
You can register signal handler and restart the script from the handler.
check this out http://php.net/manual/en/function.pcntl-signal.php
php 有一个类似于 signal c 函数的函数,称为“pcntl_signal”,它可以让您设置信号处理程序。
在信号处理程序(例如 SIGUSR1 或 SIGTSTP)中,您可以执行重新启动代码。
a )
将 php 脚本的整个主体编码在函数中,并让信号处理程序再次调用该函数
执行自身 [或 exec $argv[0] ]
b) php 脚本可以在任何一种情况下 ,就在该调用之后,你应该叫死
php has an analogue to the signal c function called "pcntl_signal" that lets you set up signal handlers.
in a signal handler (e.g. SIGUSR1 or SIGTSTP) you can do the restart code.
Either:
a) encode the entire body of the php script in a function, and have the signal handler merely call the function again
b) php script can exec itself [or exec $argv[0] ]
in either case, right after that call, you should call die