Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建一个crontab,执行一个php脚本,1小时后删除它自己_Php_Cron_Crontab - Fatal编程技术网

创建一个crontab,执行一个php脚本,1小时后删除它自己

创建一个crontab,执行一个php脚本,1小时后删除它自己,php,cron,crontab,Php,Cron,Crontab,我正在尝试创建一个phpscript,它创建一个crontab,启动一个应用程序并在1小时后关闭它。我已经知道了如何启动应用程序以及如何终止进程。剩下的就是创建cronjob,从现在起1小时后执行它,然后将其自身删除。 这可能吗?如果是,如何创建?我将创建两个cron作业:一个启动进程,一个将在一小时后终止它。我将创建两个cron作业:一个启动进程,一个将在一小时后终止它。要启动应用程序,只需创建一个crontab: crontab -e 在命令提示符中。然后编写crontab,其中包含您希望

我正在尝试创建一个phpscript,它创建一个crontab,启动一个应用程序并在1小时后关闭它。我已经知道了如何启动应用程序以及如何终止进程。剩下的就是创建cronjob,从现在起1小时后执行它,然后将其自身删除。
这可能吗?如果是,如何创建?

我将创建两个cron作业:一个启动进程,一个将在一小时后终止它。

我将创建两个cron作业:一个启动进程,一个将在一小时后终止它。

要启动应用程序,只需创建一个crontab:

crontab -e
在命令提示符中。然后编写crontab,其中包含您希望它启动的时间和存储php脚本的路径:

10 10 * * * /Users/you/phpinhere/myphp.php &> /Users/you/output
您可以将其定向到输出文件,这样您就可以读取是否存在任何错误等。
一小时后,在第一个cron下面再做一个cron,然后运行脚本将其杀死。

要启动应用程序,只需创建一个crontab:

crontab -e
在命令提示符中。然后编写crontab,其中包含您希望它启动的时间和存储php脚本的路径:

10 10 * * * /Users/you/phpinhere/myphp.php &> /Users/you/output
您可以将其定向到输出文件,这样您就可以读取是否存在任何错误等。
然后在第一个cron下面运行另一个cron一个小时,然后运行脚本杀死它。

您考虑过使用
at
守护进程吗?它不像
cron
那样受欢迎,但它的功能正是您想要的:在特定时间点一次性运行某个命令


如果您可以在服务器上执行shell脚本,那么您就可以编写一个shell脚本,在后台运行程序,休眠1h,然后在必要时停止它。这将减少at/cron队列项目的数量。

您是否考虑过使用
at
守护进程?它不像
cron
那样受欢迎,但它的功能正是您想要的:在特定时间点一次性运行某个命令


如果您可以在服务器上执行shell脚本,那么您就可以编写一个shell脚本,在后台运行程序,休眠1h,然后在必要时停止它。这将减少at/cron队列项目的数量。

如果我杀死那个cron进程,它也会杀死子进程吗?我想说的是:我会启动一个cron作业,它实际上没有什么作用,只是启动我想要运行的脚本然后终止。第二个cron选项卡将终止脚本进程。那么为什么第一个cron是必需的呢?我可以在php中使用shell_exec来启动bash脚本。当然可以,但是当您开始谈论cron时,我希望脚本应该在给定的时间或特定的时间间隔启动(这就是cron作业的好处)。如果我杀死cron进程,它也会杀死子进程吗?我想说点别的:我会启动一个cron作业,它实际上没有做什么,只是启动我想要运行的脚本然后终止。第二个cron选项卡将终止脚本进程。那么为什么第一个cron是必需的呢?我可以在php中使用shell_exec来启动bash脚本。当然可以,但是当您开始谈论cron时,我希望脚本应该在给定的时间或特定的时间间隔启动(这就是cron jobs的好处)。我想您弄错了,我希望phpfile来创建cron。我想您弄错了,我希望phpfile创建cron。如果我在未来1小时内使用“at”执行某项操作,它会每小时继续执行一次,还是会在使用后自行删除?使用
at
可以将命令放入队列中,并在执行后删除命令。因此,它们只运行一次,这应该满足您的要求。如果我在未来1小时内使用“at”来做某件事,它会每小时继续做一次,还是会在使用后自行删除?使用
at
将命令放入队列中,并在执行后删除这些命令。因此,它们只运行一次,应该满足您的要求。