自动订餐系统
来源:互联网 发布:淘宝企业店铺怎么注销 编辑:程序博客网 时间:2024/04/29 14:58
一、原因
换了新公司,新公司有个订餐系统,但是需要在下午5点之前订餐,于是想到能不能每天下午4点半自动订餐呢,然后就想到了自动定时功能。
在linux下可以用crontab来定时执行任务,在MAC下可以用launchctl来定时执行任务。
二、过程
1.创建一个food.sh文件,负责打开网页,并进行相关逻辑操作
open https://www.baidu.com
2.在/Library/LaunchAgents目录下创建一个plist文件,这个就是系统执行任务时要使用的文件,文件名叫com.wade.food.plist,文件内容如下:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict> <key>Label</key> <string>com.wade.food.plist</string> <key>ProgramArguments</key> <array> <string>/food.sh</string> </array> <key>StartCalendarInterval</key> <dict> <key>Minute</key> <integer>30</integer> <key>Hour</key> <integer>16</integer> </dict> <key>RunAtLoad</key> <true/></dict></plist>
简单的对这里边的内容说明一下: label
这里就是给这个任务名个名字,这里一般取plist的文件名,这个名字不能和其它的plist重复。 /food.sh
是我们要执行的脚本存放位置。 StartCalendarInterval
里边的参数是说每一天16点30分的时候执行一下脚本。
然后就可以用下面的几个命令进行操作我们做好的任务了。
launchctl load com.wade.food.plistlaunchctl unload com.wade.food.plistlaunchctl start com.wade.food.plistlaunchctl stop com.wade.food.plistlaunchctl list
要加载我们做好的plist文件,就是用上面的第一个命令load,这个时候糸统就会在每天的16点30分执行我们的脚本。如果想去掉我们的定时任务就可以用unload命令。
如果一个任务今天的16点30分执行过了,然后你改了,com.wade.food.plist里面的时间,比如说改到16点30分执行,必须unload之后再重新load一下,不然当天不会再执行这个命令。
start可以测试任务,这个是立即执行,不管时间到了没有
stop可以停止任务
3.自动安装install.sh
#!/bin/bashecho "安装ing..."#安装plistsudo cp ./com.wade.food.plist /Library/LaunchAgents/sudo chmod a+x /Library/LaunchAgents/com.wade.food.plistlaunchctl unload /Library/LaunchAgents/com.wade.food.plistlaunchctl load /Library/LaunchAgents/com.wade.food.plist#安装脚本sudo cp ./food.sh /sudo chmod a+x /food.shecho "安装完成!"
三、扩展
此功能只实现了每天下午4点半定时打开订餐网页,但是并没实现订餐的功能,这里暂时没有思路,因为对网页不熟悉,业余时间需要研究一下网站开发了。
- 自动订餐系统
- 自动订餐
- 订餐系统之地图订餐
- 订餐系统之地图订餐
- 订餐系统
- 订餐系统
- 关于订餐系统
- 自助订餐系统
- 订餐系统处理
- 订餐系统总结
- 订餐系统
- 作业:订餐系统
- 订餐系统:订餐管理系统的一些故事
- Project2 简单订餐系统
- 网上订餐系统1
- 订餐系统之微信点餐
- 订餐管理系统详解
- 订餐系统路径问题
- hdu 5146 Sequence(序列操作)
- 前端学习知识库
- 《编程之法》1.1字符串的旋转
- [暑假集训] jzoj 2016.7.14 noip模拟赛B 总结
- CocoaPods安装使用
- 自动订餐系统
- 理解卷积
- Windows下Nginx日志分割
- 调试JS的技巧
- Binary Tree Level Order Traversal
- Letter Combinations of a Phone Number
- 集合的常用知识
- Android Studio 对GitHub开源项目的引用及导入
- i++与++i