macOS 系统设置息屏情况下,PHP等后台脚本继续执行

在 macOS 系统下,当屏幕息屏或合上盖子时,后台脚本程序是否会继续运行,主要取决于以下几个因素:

1. 系统睡眠状态的影响

  • 默认情况:合盖/息屏后,Mac 会进入「睡眠模式」(部分硬件休眠),此时:
    • CPU 任务:后台脚本(如 Python、Shell 脚本)通常会被暂停。
    • 网络请求:未完成的网络连接可能中断。
  • 例外情况:如果启用了「防止睡眠」模式,脚本会继续运行。

2. 如何保持脚本持续运行

✅ 方法 1:使用 caffeinate 命令(系统自带)
# 运行脚本时阻止睡眠(直到脚本结束)
caffeinate -s ./your_script.sh# 或者永久阻止睡眠(需手动终止)
caffeinate -dims &
./your_script.sh

参数说明

  • -d:阻止显示器睡眠
  • -i:阻止系统空闲睡眠
  • -m:阻止磁盘睡眠
  • -s:阻止系统睡眠(合盖仍有效)
✅ 方法 2:修改能源管理设置
# 临时禁用睡眠(需 sudo 密码)
sudo systemsetup -setcomputersleep Never# 恢复默认设置
sudo systemsetup -setcomputersleep 30
✅ 方法 3:使用 tmuxnohup
# 使用 tmux(推荐)
tmux new -s mysession
./your_script.sh
# 按 Ctrl+B → D 脱离会话(脚本继续运行)# 使用 nohup
nohup ./your_script.sh &

3. 验证脚本是否在后台运行

# 查看所有进程
ps aux | grep your_script# 查看系统睡眠状态
pmset -g assertions

如果输出中包含 PreventUserIdleSystemSleep,说明防睡眠已生效。

4. 常见问题解决

  • 问题:合盖后 SSH 断开导致脚本终止
    方案:通过 tmux/screen 运行脚本,或使用内网穿透工具(如 frp)。

  • 问题:依赖 GUI 的脚本失败
    方案:改用无头模式(如 headless 浏览器)或 CLI 工具。

5. 自动化建议

如果需要长期运行后台任务,建议:

  1. launchd 配置守护进程:
    <!-- ~/Library/LaunchAgents/your.script.plist -->
    <dict><key>Label</key><string>your.script</string><key>ProgramArguments</key><array><string>/path/to/your_script.sh</string></array><key>RunAtLoad</key><true/><key>KeepAlive</key><true/>
    </dict>
    
  2. 加载配置:
    launchctl load ~/Library/LaunchAgents/your.script.plist
    

📌 总结表:Mac 息屏后脚本运行方案

方案是否需要命令合盖后效果适用场景
caffeinate需要持续运行临时任务
修改 systemsetup需要 sudo持续运行长期任务(需手动恢复)
tmux/nohup需要可能暂停远程 SSH 任务
launchd 守护进程配置一次持续运行生产环境长期运行

systemsetup使用方法

在 macOS 中,systemsetup 是一个强大的命令行工具,用于配置系统级别的硬件和能源设置。以下是关于 systemsetup 的详细使用方法和常见场景:


1. 基本命令语法

sudo systemsetup -set<选项> <参数>
sudo systemsetup -get<选项>

⚠️ 需要管理员权限(sudo


2. 常用命令示例

🔹 睡眠与唤醒控制
功能命令备注
禁用睡眠sudo systemsetup -setcomputersleep Never合盖/息屏不睡眠
设置睡眠时间sudo systemsetup -setcomputersleep 3030分钟后睡眠
禁用显示器睡眠sudo systemsetup -setdisplaysleep Never仅屏幕不关闭
获取当前设置sudo systemsetup -getcomputersleep查看睡眠超时
🔹 网络唤醒(Wake-on-LAN)
# 启用网络唤醒
sudo systemsetup -setwakeonnetworkaccess on# 检查状态
sudo systemsetup -getwakeonnetworkaccess
🔹 时间同步
# 使用NTP时间同步
sudo systemsetup -setnetworktimeserver time.apple.com
sudo systemsetup -setusingnetworktime on
🔹 启动磁盘设置
# 指定启动磁盘
sudo systemsetup -setstartupdisk /Volumes/macOS# 列出可用启动磁盘
sudo systemsetup -liststartupdisks

3. 能源管理相关命令

查看所有能源设置:
pmset -g
单独配置电池/电源适配器模式:
# 电池模式下不休眠
sudo pmset -b sleep 0# 电源适配器模式下不休眠
sudo pmset -c sleep 0

4. 实用技巧

🔸 防止合盖睡眠(同时允许其他睡眠)
# 合盖时不睡眠(需重启生效)
sudo pmset -a disablesleep 1# 恢复默认
sudo pmset -a disablesleep 0
🔸 SSH远程唤醒
# 允许SSH唤醒(需先启用网络唤醒)
sudo systemsetup -setremoteappleevents on
🔸 日志查看
# 查看睡眠/唤醒日志
log show --predicate 'eventMessage contains "Sleep"' --last 24h

5. 恢复默认设置

# 恢复所有睡眠设置默认值
sudo pmset -a restoredefaults

⚠️ 注意事项

  1. 部分设置需要重启生效
  2. 长期禁用睡眠可能导致过热
  3. 使用 -a 参数表示所有电源模式(-b=电池,-c=电源适配器)

6. 图形化替代方案

如果不想用命令行,可以通过以下路径修改:

  1. 系统设置 > 电池 > 调整睡眠时间
  2. 系统设置 > 锁定屏幕 > 关闭「睡眠时锁定屏幕」

通过 systemsetuppmset 的组合使用,你可以精准控制 Mac 的睡眠行为,满足后台脚本持续运行的需求。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/76882.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot集成ActiveMQ异常处理机制:若未捕获异常,消息会被重新投递

一、问题描述 SpringBoot项目集成AvtiveMQ&#xff0c;作为消息消费者。如果在消费消息的方法中&#xff0c;抛出异常&#xff0c;会产生什么效果&#xff1f; 二、ActiveMQ异常处理机制&#xff08;AI问答仅供参考&#xff09; 在Spring Boot项目集成ActiveMQ作为消息消费者…

【Java学习笔记】random的使用

random使用方法 使用说明&#xff1a;返回的是(0<n<1)这个范围中的任意带正号的double值 代码实例 public class helloworld{public static void main(String[] args){System.out.println(Math.random());} }生成0-100中的任意数代码示例 public class Main {public …

(三)垂直分库架构、分布式数据库

文章目录 垂直分库架构/分布式数据库什么是垂直分库架构架构模型优缺点优点缺点 技术案例分布式数据库架构模型优缺点优点缺点 技术案例 垂直分库架构/分布式数据库 什么是垂直分库架构 根据业务的模块划分&#xff0c; 将不同业务的数据放到不同的数据库中。 比如一个电子商城…

数据结构线性表的顺序存储结构

线性表是由零个或多个数据元素组成的有序序列。 特点&#xff1a; 数据元素间是有顺序的&#xff1b; 数据元素的个数是有限的&#xff1b; 一般来说&#xff0c;数据元素的类型是相同的&#xff08;强类型语言&#xff09;。c/c是强类型语言&#xff0c;必须指定数据类型。…

扣子空间试用:生成五一骑行规划+notion文章编写

今天试用了一下扣子空间&#xff0c;正好五一快到了&#xff0c;让它帮忙做了五一骑行规划&#xff0c;效果不赖&#xff01; 生成五一骑行规划 点击前往网站查看效果 prompt 如下&#xff1a; 帮我做一个五一上海骑行规划 要求&#xff1a; - 风景优美 - 人少 - 100km总路程…

最新得物小程序sign签名加密,请求参数解密,响应数据解密逆向分析

点击精选&#xff0c;出现https://app.dewu.com/api/v1/h5/index/fire/index 这个请求 直接搜索sign的话不容易定位 直接搜newAdvForH5就一个&#xff0c;进去再搜sign&#xff0c;打上断点 可以看到t.params就是没有sign的请求参数&#xff0c; 经过Object(a.default)该函数…

在C#串口通信中,一发一收的场景,如何处理不同功能码的帧数据比较合理,代码结构好

在 C# 串口通信的一发一收场景里&#xff0c;处理不同功能码的帧数据可采用以下合理的代码结构&#xff0c;它能让代码更具可读性、可维护性和可扩展性。 实现思路 定义帧结构&#xff1a;创建一个类来表示通信帧&#xff0c;其中包含功能码、数据等信息。功能码处理逻辑&…

【C++】vector扩容缩容

vector扩容缩容 1 扩容 一般来说&#xff0c;主要是重新分配内存 2 缩容 resize 缩小后&#xff0c;vector 的容量&#xff08;capacity()&#xff09;可能保持不变&#xff0c;需要显式调用 shrink_to_fit() 来释放内存。 验证代码&#xff1a; #include <vector>…

java中,线程的执行状态有哪些

在 Java 里&#xff0c;线程有 6 种执行状态&#xff0c;这些状态都在 java.lang.Thread.State 枚举类中被定义。下面为你详细介绍这些状态&#xff1a; 1. NEW&#xff08;新建状态&#xff09; 当你创建了一个 Thread 对象&#xff0c;却还未调用其 start() 方法时&#xf…

MATLAB 控制系统设计与仿真 - 41

鲁棒控制的其他函数 - 回路成型函数 loopsyn 灵敏度问题由鲁棒控制工具箱中的loopsyn就可以直接求解,该函数采用H无穷回路成型算法设计控制器,函数的调用格式为: [K,CL,gamma,info] = loopsyn(G,Gd) % G为受控对象模型% Gd为期望的回路传递函数% K为回路成型控制器模型% C…

查询Hologres或postgresql中的数据

因Hologres使用postgresql的语法.所以两者查询一样. 方案1: import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.ArrayList; import java.util.List;/*** 一个使用简单连接池管理PostgreSQL连接的工具类。*/ publi…

OpenBayes 一周速览|EasyControl 高效控制 DiT 架构,助力吉卜力风图像一键生成;TripoSG 单图秒变高保真 3D 模型

公共资源速递 10 个教程&#xff1a; * 一键部署 R1-OneVision * UNO&#xff1a;通用定制化图像生成 * TripoSG&#xff1a;单图秒变高保真 3D * 使用 VASP 进行机器学习力场训练 * InfiniteYou 高保真图像生成 Demo * VenusFactory 蛋白质工程设计平台 * Qwen2.5-0mni…

中兴云电脑W102D_晶晨S905X2_2+16G_mt7661无线_安卓9.0_线刷固件包

中兴云电脑W102D_晶晨S905X2_216G_mt7661无线_安卓9.0_线刷固件包 准备工作&#xff1a; 工具和设备在开始刷机之前&#xff0c;确保你已经准备好以下物品&#xff1a;双公头USB线&#xff1a;选择一根30-50厘米长的USB线&#xff0c;长度适中&#xff0c;方便操作&#xff0c;…

Rust 学习笔记:安装 Rust

Rust 学习笔记&#xff1a;安装 Rust Rust 学习笔记&#xff1a;安装 Rust在 Windows 上安装 Rust命令行创建 Rust 项目在 Mac/Linux 上安装 Rust一些命令升级卸载cargo -hrustc -h 安装 RustRoverrust-analyzer Rust 学习笔记&#xff1a;安装 Rust 在 Windows 上安装 Rust …

Opencv图像处理:轮廓检测、轮廓近似、绘制外接圆外接矩形

文章目录 一、图像轮廓检测1、比较2、常见的轮廓检测方法1&#xff09;基于梯度的方法2&#xff09;基于边缘检测器的方法3&#xff09;基于阈值的方法 3、查找轮廓与绘制轮廓4、参数解释4、代码解释1&#xff09;读取原图像灰度图并用二值化显示2&#xff09;轮廓绘制3&#x…

精益数据分析(17/126):精益画布与创业方向抉择

精益数据分析&#xff08;17/126&#xff09;&#xff1a;精益画布与创业方向抉择 大家好&#xff01;一直以来&#xff0c;我都希望能和大家一起在创业和数据分析的领域中不断探索、共同进步。今天&#xff0c;我们接着深入学习《精益数据分析》&#xff0c;这次聚焦于精益画…

每天五分钟深度学习PyTorch:图像的处理的上采样和下采样

本文重点 在pytorch中封装了上采样和下采样的方法,我们可以使用封装好的方法可以很方便的完成采样任务,采样分为上采样和下采样。 上采样和下采样 下采样(缩小图像)的主要目的有两个:1、使得图像符合显示区域的大小;2、生成对应图像的缩略图。 下采样( 放大图像)的…

代码随想录训练营第39天 || 198. 打家劫舍 213. 打家劫舍 II 337. 打家劫舍 III

198. 打家劫舍 思路&#xff1a; 动规五部曲&#xff1a; 1.dp数组及其下标的意义&#xff1a;dp数组表示当前房屋下偷与不偷的最大盗取金额 2.确定递推公式&#xff1a;因为盗取房屋只能间隔盗取&#xff0c;并且还要取最大值。所以每个房屋都有盗取和不盗取两个选择&…

【AI 加持下的 Python 编程实战 2_09】DIY 拓展:从扫雷小游戏开发再探问题分解与 AI 代码调试能力(上)

DIY 拓展&#xff1a;从扫雷小游戏开发再探问题分解与 AI 代码调试能力&#xff08;上&#xff09; 1 起因 最近在看去年刚出了第 2 版《Learn AI-assisted Python Programming》&#xff0c;梳理完 第七章 的知识点后&#xff0c;总感觉这一章的话题很好——问题分解能力的培…

使用DeepSeek-Prover-V1.5解决数学问题

DeepSeek-Prover-V1.5-RLRMaxTS是一个结合强化学习和搜索策略的自动定理证明系统。 1. 初等代数&#xff1a;二次方程求解 问题&#xff1a;解方程 x - 5x 6 0 操作步骤&#xff1a; 将问题转换为Coq形式&#xff1a; Theorem quadratic : exists x : Z, x^2 - 5*x 6 0…