mac下使用nohup运行程序以及执行定时任务

34 篇文章 0 订阅

最近在思考队列怎么一直开启,一直执行的问题,想到了可以写一个死循环,不停的去执行

用nohup挂在就可以了

 

因为mac自带PHP和apahce

只需要用root用户启动apache

sudo apachectl restart

PHP启动方式为  php-fpm start  一般情况下都是默认启动的;

接着要知道项目运行的目录为 /Library/WebServer/Documents;

默认运行的是/Library/WebServer/Documents/index.php文件;

我们可以先写一个简单的demo来测试是否一直开着进程在执;

 

直接在mac终端执行 sudo  nohup php /Library/WebServer/Documents/index.php>>/Library/WebServer/Documents/hi.txt

查看是否成功

cat /Library/WebServer/Documents/hi.txt

成功了的 ok

当然这个方式也可以用来执行队列,定时任务之类的

比如这个tp5项目

直接运行

php 文件目录/think test即可

 php /Library/WebServer/Documents/tp5/think test

 

 

如果是写定时任务的话,可以根据情况来写

分0-59

时0-12

天1-31

月1-12

周0-7

比如每天凌晨0:01执行date.php

1 0 * * * php /Library/WebServer/Documents/tp5/think date

每5分钟执行Minutes.php

*/5 * * * * php /Library/WebServer/Documents/tp5/think minutes

每月第一天中午12点整执行Month.php

0 12 1 * * php /Library/WebServer/Documents/tp5/think month

 

如果要测试就可以把输出写到日志或者写到新的文件里面

 */2 * * * * php /Library/WebServer/Documents/tp5/think date >>/Library/WebServer/Documents/tp5/test.txt

这句话表示每两分钟服务器执行以下php think date,且把输出写到test.txt文件

经过测试这个也是成功的,前提是先要把定时任务写到crontab中

使用root用户来编写定时任务

sudo -i  输入密码

crontab -e 编写定时任务  按键盘i出现insert 表示可以写入 写好后按esc ,再按!wq既可强制保存退出

crontab -l 查看定时任务列表

cat /Library/WebServer/Documents/tp5/test.txt可以查看是否写入成功

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芝麻开门2015

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值