当前位置: 首页 > news >正文

薅羊毛做任务赚钱网站网站的推广平台有哪些

薅羊毛做任务赚钱网站,网站的推广平台有哪些,wordpress教程w3c,做淘宝客必须有网站吗Mac使用 launchctl 创建定时任务 & Operation not permitted问题处理 回头来看,这是个很简单的工具使用,但是却因为一个问题查了半天,因此记录一下。 使用launchctl创建定时任务 这里以定时清空某个文件夹内容为例。 创建shell脚本 …

Mac使用 launchctl 创建定时任务 & Operation not permitted问题处理

回头来看,这是个很简单的工具使用,但是却因为一个问题查了半天,因此记录一下。

使用launchctl创建定时任务

这里以定时清空某个文件夹内容为例。

创建shell脚本

脚本文件命名为delete.sh

#!/bin/bash
rm -rf /待删除的文件路径

设置脚本文件权限

sudo chmod 777 /delete.sh

创建com.delete.plist

不同创建目录的区别:

位置类型以什么用户权限运行运行时机
/System/Library/LaunchDaemonsSystem Daemonsroot / 指定用户开机时
/System/Library/LaunchAgentsSystem Agents当前登录用户任意用户登录
/Library/LaunchDaemonsGlobal Daemonsroot / 指定用户开机时
/Library/LaunchAgentsGlobal Agents当前登录用户任意用户登录
~/Library/LaunchAgentsUser Agents当前登录用户指定用户登录时

这里以在 /Library/LaunchAgents 创建为例

<?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.delete.plist</string><!-- 指定要运行的脚本 --><key>ProgramArguments</key><array><string>/Users/xxx/demo/delete.sh</string></array><!-- 指定要运行的时间 当前为每天早晨5:00--><key>StartCalendarInterval</key><dict><key>Minute</key><integer>0</integer><key>Hour</key><integer>5</integer></dict><!-- 标准输出文件 --><key>StandardOutPath</key><string>/Users/xxx/Downloads/demo/run.log</string><!-- 标准错误输出文件,错误日志 --><key>StandardErrorPath</key><string>/Users/xxx/Downloads/demo//run.err</string></dict>
</plist>

加载com.delete.plist

launchctl load -w /Library/LaunchAgents/com.delete.plist

到这里,通过 launchctl 创建定时任务的过程已经结束了。

报错: Operation not permitted

记录了一下自己分析的过程,着急要解决方案的可以跳过。

分析过程

上述流程结束后,检查了plist文件语法,shell脚本语法,发现都没有问题,但是却不能正常删除文件,run.error日志输出以下内容:

/bin/bash: /Users/xxxxx/demo/delete.sh: Operation not permitted

检查delete.sh权限确认是所有用户可执行

ls -l | grep delete.sh-rwxrwxrwx@  1 xxxx  staff        198  8 17 10:28 delete.sh

google无果,好像没人碰到类似问题,冷静分析!!!

  • 报错不发生在delete.sh内部!
  • delete.sh脚本是由哪个对象去调起的? 假设这个对象叫plist;
  • 是不是plist这个对象没有权限执行delete.sh文件,但是delete.sh文件是所有用户可执行,应该不存在权限问题,那是不是在去执行delete.sh的过程中出现的问题;
  • 执行delete.sh用的是/bin/bash,问题出在plist对象调用/bin/bash这个过程?

带着这个猜想去google了下,很容易就发现其他场景下的类似问题,

确认原因为: /bin/bash没有权限去调用delete.sh

解决方案

赋予/bin/bash完全磁盘访问权限

系统设置-隐私与安全性-完全磁盘访问权限-添加/bin/bash

在这里插入图片描述

附相关常用命令

  • 加载 / 卸载: 卸载加载是启动的前提, 只有加载了之后才能执行任务
    • launchctl bootstrap gui/501 /Library/LaunchAgents/com.demo.test.plist: 加载 指定服务
    • launchctl bootout gui/501 /Library/LaunchAgents/com.demo.test.plist: 卸载 指定服务
    • launchctl load <path_of_plist>: 加载 一个 plist 文件, 只会加载没有被 disable 的任务, 添加 -w 会 enable 状态并加载, 这导致下次启动也会加载该任务
    • launchctl unload <path_of_plist>: 停止并 卸载 一个 plist 任务, 添加 -w 会 disable 状态, 这导致下次启动也不会加载该任务
    • launchctl unload <path_of_plist> && launchctl load <path_of_plist>: 修改配置后重载配置, 如果任务被修改了, 那么必须先 unload, 再重新 load
    • launchctl remove <label>: 通过服务名进行 卸载
  • 启动 / 停止: 启动与停止只会影响当次执行的任务, 不会影响下次的计时任务执行
    • launchctl start <label>: 在不修改 Disabled 状态的前提下根据 service_name启动 一个已加载的 service(效果为立即执行, 无论时间是否符合条件)
    • launchctl stop <label>: 在不修改 Disabled 状态的前提下根据 service_name停止 一个正在执行中的任务(不会影响其下次的定时启动功能, 只会取消当前执行的当次行为)
  • 启用 / 禁用: 表示该服务下次启动后会不会被加载, 不会影响当前已加载的服务
    • launchctl enable gui/501/com.hanleylee.test_timer: 启用服务, 启用之后再次启动系统会加载该服务
    • launchctl disable gui/501/com.hanleylee.test_timer: 禁用服务, 禁用之后再次启动系统也不会加载该服务了
  • 杀掉服务
    • launchctl kill gui/501/demo.test
    • launchctl kickstart -k <path_of_plist>: 杀死进程并重启服务, 对一些停止响应的服务有效
  • Other
    • launchctl print gui/501
    • launchctl print-disabled gui/501
    • launchctl list: 列出已加载的所有服务
    • launchctl list | grep 'com.hello': 筛选任务列表

相关注意事项:

  • 一个服务, 必须在被加载后才能使用 start 进行启动, 如果使用了 RunAtLoadKeepAlive 则在加载时就启动.
  • 在执行 start 和 unload 前, 任务必须先 load 过, 否则报错

参考链接: https://hanleylee.com/articles/manage-process-and-timed-task-by-launchd/

http://www.hkea.cn/news/464859/

相关文章:

  • 做网站设计工资多少钱优化教程网官网
  • 计算机网站建设与维护百度关键词统计
  • wordpress网站实现微信登录google google
  • 网站建设 零基础网站关键词如何优化
  • 如何撤销网站上信息app网站
  • 单页式网站系统每日新闻摘要30条
  • 网站开发公司 广告词优化方案电子版
  • 做便民工具网站怎么样关键词挖掘站长工具
  • 纺织面料做哪个网站好百度站长资源
  • 菏泽网站建设哪好怎样做平台推广
  • 网上有做logo的网站吗网络营销的核心是什么
  • 自建网站怎么做推广微信营销策略
  • 跳网站查询的二维码怎么做的关键词排名点击软件网站
  • 兼容手机的网站百度怎么推广自己的视频
  • 宝安中心医院入职体检跟我学seo
  • 企业网站后端模板石家庄疫情最新情况
  • 沈阳哪家网站做的好网络营销是指什么
  • 我的网站模板网站建设主要推广方式
  • 国外app素材网站seo运营是做什么的
  • 企业网站seo怎么做百度帐号个人中心
  • 郑州网站建设亅汉狮网络百度网盘seo优化
  • 模板型网站seo优化平台
  • 官方网站下载免费软件培训机构有哪些?哪个比较好
  • 网站导航怎么做的惠州seo计费管理
  • 建设公司网站模板全国唯一一个没有疫情的城市
  • 网站怎么做seo_南京百度提升优化
  • 旅游网站开发与设计论文怎么样建网站
  • 北京网站推广排名公司企业网站的搜索引擎推广与优化
  • 动态网站期末设计广告营销策略
  • 山东网站营销推广费用旺道seo推广