已开始的任务如何结束?
Closed this issue · 26 comments
1、关闭PUTTY窗口,任务还在继续么?
2、已开始的任务如何结束?
刚学PHP的菜鸟,请指导,谢谢大神。
这个初衷是用到win服务器上的linux的也可以用 需要在php run.php & 这样就可以在后台执行了,关闭窗口照旧执行,已经执行的任务,可以找到对应的进程ID,并KILL即可
这么晚还没睡。我用ctrl+C,退出了。这时候,我看了下日志,程序好像没在执行了。因为日志没有新增加的条目了。
但是日志没看懂,内容是:
Could not open input file: demo.php
Could not open input file: demo.php
Could not open input file: demo.php
Could not open input file: demo.php
Could not open input file: demo.php
Could not open input file: demo.php
Could not open input file: demo.php
config.ini 看下这个文件,这个文件里面应该有一个配置的demo.php示例,注释或删除就可以了
你在 /home/datad/wwwroot/php-crontab-1.0.0/ 这个目录中执行下 run.php
OK了。结果出来了。非常感谢!辛苦了!
额外请教一下:
我要在demo.php里写个代码,向wordpress的数据库的中一个表写入数据,技术上可行么?安全和效率或者其他方面有没有什么不好的影响么?
和正常入库操作一样的,这个脚本是在服务器执行的,一般问题没有那么严重,除非服务器本身本入侵
OK,我研究一下。
谢谢大神,早点休息啊!
同一时间执行两个时长不一样的任务,如果一个先执行完了,下一个就不执行了,这个得怎么破呢
这个任务都会在后台执行的?你的脚本是意外退出了还是?
我写了两个脚本,用curl去抓取数据,一个执行时长大概3、4秒,另外一个执行时长大概8秒,它们都一时间执行的时候,执行完一个之后,另外一个没有执行,然后继续等待执行任务。
有什么报错么?贴一下
@andy19911227
没有报错哦。。@sushang123
@andy19911227 介意把相关脚本发给我么?我看一下
可以,你的邮箱是多少呢?@sushang123
@andy19911227 devil_bd@foxmail.com
我的报错:Could not open input file
配置如下:cd_dir = /home/vagrant/erp/tools/tools
common = php auto_product_arrival_notice.php
log_dir = /home/vagrant/erp/tools/log/php-crontab.log
cd_dir配置的路径是部署好的路径
报错如下:Could not open input file auto_product_arrival_notice.php
@xiaoshuiheban 检查下权限权限是否存在问题
@sushang123 cd_dir这里是是配置/tools/ 还是配置/home/vagrant/erp/tools/(服务映射地址)
@xiaoshuiheban cd_dir 这个是你要执行脚本所在的目录
配置如下:cd_dir = /home/vagrant/erp/tools
common = php auto_product_arrival_notice.php
log_dir = /home/vagrant/erp/tools/log/php-crontab.log
cd_dir配置的路径是部署好的路径
报错如下:Could not open input file auto_product_arrival_notice.php
这个已经重新赋值了权限,但还报错,出现这问题,会不会是路径没找到
@ @xiaoshuiheban 你的这个auto_product_arrival_notice.php 的路径是什么?
@sushang123 部署到服务器的路径是/home/vagrant/erp/tools/
我如果在/etc/crontab里直接添加定时任务是:***** root php /home/vagrant/erp/tools/auto_product_arrival_notice.php
所以我在cd_dir配置/home/vagrant/erp/tools/应该也是对的
并且Could not open input file auto_product_arrival_notice.php这个错误写进了/home/vagrant/erp/tools/log/php-crontab.log
cd_dir = /home/vagrant/erp/tools/ @xiaoshuiheban 按照这样设置试试看
- 我如果在/etc/crontab里直接添加定时任务是:***** root php /home/vagrant/erp/tools/auto_product_arrival_notice.php
此时这定时任务是能跑通过,不会出现。Could not open input file auto_product_arrival_notice.php
2.我在cd_dir配置/home/vagrant/erp/tools/后
出现Could not open input file auto_product_arrival_notice.php错误,且将错误写进了/home/vagrant/erp/tools/log/php-crontab.log
所以现在我也很懵逼,路径应该没错,访问权限应该也有,执行的定时任务内容应该也没出错
我怀疑是不是pclose(popen('cd ' . $info['cd_dir'] . '&' . $info['common'] . $outputCommon, 'r')),
这里出问题了
2017-11-15
问题算是解决了,错误出在'cd'并没有起作用,所以导致路径不对