使用at命令定时执行php时的顺序问题

邮差 发布于 2012/11/05 10:12
阅读 482
收藏 0
PHP

脚本内容如下

/usr/bin/php 1.php | at 11:00

1.php

<?php
$filename="1.txt";
touch($filename);
?>
本意应是添加计划任务,在11:00执行 1.php
但是运行脚本时,1.txt就会同时创建,什么原因?

加载中
0
周翼翼
周翼翼

引用来自“周翼翼”的答案

按我的理解, a|b是执行a程序, 把它的输出做为b程序的输入 ,然后执行b程序.

所以, 你的php脚本已经执行了.

echo 'xxx.php'|at xxx
0
Atnl-Yang
Atnl-Yang
touch - 如果文件不存在,则会创建这个文件
邮差
邮差
加了 | at 11:00,不是应该到了11:00的时候才执行1.php么?为什么先运行了?
0
飞酒
飞酒
不错了,应该是你用错了吧
0
飞酒
飞酒

第一步:at 11:00

第二步:/usr/bin/php 1.php

第三步:ctrl+d

ok,你已经搞定了,然后使用atq查看下

邮差
邮差
想把at命令写到脚本里,手动执行at命令没有问题。
0
周翼翼
周翼翼

按我的理解, a|b是执行a程序, 把它的输出做为b程序的输入 ,然后执行b程序.

所以, 你的php脚本已经执行了.

邮差
邮差
那如何在shell中避免这种情况呢?
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部