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

news2025/4/25 3:30:23

在 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.coloradmin.cn/o/2342108.html

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

相关文章

Prompt-Tuning 提示词微调

1. Hard Prompt 定义&#xff1a; Hard prompt 是一种更为具体和明确的提示&#xff0c;要求模型按照给定的信息生成精确的结果&#xff0c;通常用于需要模型提供准确答案的任务. 原理&#xff1a; Prompt Tuning原理如下图所示&#xff1a;冻结主模型全部参数&#xff0c;在…

asp.net core webapi+efcore

简洁的restfull风格 目前c#提供了多种风格的web编程&#xff0c;因为微软有自己的前端&#xff0c;所以集成了很多内容&#xff0c;不过基于现在编程前后端分离的模式&#xff0c;webapi是合适的。 webapi 目前网络上有很多介绍&#xff0c;不反复说这个了。在建立控制器时&…

前端渲染pdf文件解决方案-pdf.js

目录 一、前言 二、简介 1、pdf.js介绍 2、插件版本参数 三、通过viewer.html实现预览&#xff08;推荐&#xff09; 1、介绍 2、部署 【1】下载插件包 【2】客户端方式 【3】服务端方式&#xff08;待验证&#xff09; 3、使用方法 【1】预览PDF文件 【2】外部搜索…

从边缘到云端,如何通过时序数据库 TDengine 实现数据的全局洞

在当今数字化转型加速的背景下&#xff0c;海量的数据生成和实时处理需求已成为企业面临的关键挑战。无论是物联网设备、工业自动化系统&#xff0c;还是智能城市的各类传感器&#xff0c;数据的采集、传输与分析效率&#xff0c;直接影响企业的决策与运营。为此&#xff0c;TD…

2025.04.23【Treemap】树状图数据可视化指南

Multi-level treemap How to build a treemap with group and subgroups. Customization Customize treemap labels, borders, color palette and more 文章目录 Multi-level treemapCustomization Treemap 数据可视化指南Treemap 的基本概念为什么使用 TreemapTreemap 的应用…

蓝桥杯 15.小数第n位

小数第n位 原题目链接 题目描述 我们知道&#xff0c;整数做除法时&#xff0c;有时会得到有限小数&#xff0c;有时会得到无限循环小数。 如果我们把有限小数的末尾加上无限多个 0&#xff0c;它们就具有了统一的形式。 本题的任务是&#xff1a;在上述约定下&#xff0c…

用高斯溅射技术跨越机器人模拟与现实的鸿沟:SplatSim 框架解析

在机器人领域&#xff0c;让机器人在现实世界中精准执行任务是大家一直追求的目标。可模拟环境和现实世界之间存在着不小的差距&#xff0c;特别是基于 RGB 图像的操作策略&#xff0c;从模拟转移到现实时总是状况百出。 今天咱们就来聊聊 SplatSim 框架&#xff0c;看看它是怎…

AI大模型学习十一:‌尝鲜ubuntu 25.04 桌面版私有化sealos cloud + devbox+minio,实战运行成功

一、说明 用了ubuntu 25.04&#xff0c;内核为GNU/Linux 6.14.0-15-generic x86_64&#xff0c;升级了部分image&#xff0c;过程曲折啊 sealos 能干啥 对集群生命周期进行管理&#xff0c;一键安装高可用 Kubernetes 集群&#xff0c;增删节点清理集群自恢复等 通过 sealos…

如何在 Python 项目中引入 Rust 函数

目录 1. 初始化 Python 项目2. 添加 Rust 开发工具3. 初始化 Rust 项目4. 开发模式构建5. 验证模块是否成功安装6. 测试 Rust 函数总结 (封面pid: 129416070) Python 是一门非常流行的编程语言&#xff0c;具有易于使用和开发的特点。然而&#xff0c;随着项目需求的增长和性能…

聊聊SpringAI流式输出的底层实现?

在 Spring AI 中&#xff0c;流式输出&#xff08;Streaming Output&#xff09;是一种逐步返回 AI 模型生成结果的技术&#xff0c;允许服务器将响应内容分批次实时传输给客户端&#xff0c;而不是等待全部内容生成完毕后再一次性返回。 这种机制能显著提升用户体验&#xff…

MySQL 8 自动安装脚本(CentOS-7 系统)

文章目录 一、MySQL 8 自动安装脚本脚本说明&#x1f4cc; 使用脚本前提条件1. 操作系统2. 用户权限3. 网络要求 &#x1f4cc; 脚本的主要功能1. 环境检查2. MySQL 自动安装3. 自动配置 MySQL4. 防火墙配置5. 验证与输出 &#x1f4cc; 适用场景 二、执行sh脚本1. 给予脚本执行…

在Notepad++中使用NppAtyle插件格式化代码

参考链接&#xff1a;Artistic Style 使用教程&#xff08;中文版&#xff09; 1.下载NppAStyle插件&#xff08;根据版本&#xff0c;选择32位或者64位&#xff09; https://github.com/ywx/NppAStyle/releases 2.菜单栏中选择&#xff1a;插件->打开插件文件夹 创建文件夹…

拼多多面经,暑期实习Java一面

项目中的设计模式 mysql连接过程&#xff0c;索引&#xff0c;分库分表场景&#xff0c;路由策略 redis使用场景&#xff0c;分片集群怎么搭建与路由&#xff0c;数据一致性 分布式锁怎么用的&#xff0c;具体使用参数 线程池怎么用的&#xff0c;过程 sql having 分布式事务 如…

FramePack:让视频生成更高效、更实用

想要掌握如何将大模型的力量发挥到极致吗&#xff1f;叶梓老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具&#xff08;限时免费&#xff09;。 1小时实战课程&#xff0c;您将学习到如何轻松上手并有效利用 Llama Factory 来微调您的模型&#xff0c;以发挥其…

ctfshow web8

前言 学习内容&#xff1a;简单的盲注脚本的书写 web8 这个题目题目手动注入很麻烦 主要是他过滤了 union 空格和 过滤了union的解决方法 1、使用盲注(报错注入和盲注) 2、使用时间盲注 3、堆叠注入 盲注脚本的书写 首先他是有注入点的 然后熟悉requests包的使用 …

gem5-gpu教程03 当前的gem5-gpu软件架构(因为涉及太多专业名词所以用英语表达)

Current gem5-gpu Software Architecture 这是当前gem5-gpu软件架构的示意图。 Ruby是在gem5-gpu上下文中用于处理CPU和GPU之间内存访问的高度可配置的内存系统 CudaCore (src/gpu/gpgpu-sim/cuda_core.*, src/gpu/gpgpu-sim/CudaCore.py) Wrapper for GPGPU-Sim shader_cor…

TDengine 查询引擎设计

简介 TDengine 作为一个高性能的时序大数据平台&#xff0c;其查询与计算功能是核心组件之一。该平台提供了丰富的查询处理功能&#xff0c;不仅包括常规的聚合查询&#xff0c;还涵盖了时序数据的窗口查询、统计聚合等高级功能。这些查询计算任务需要 taosc、vnode、qnode 和…

【官方正版,永久免费】Adobe Camera Raw 17.2 win/Mac版本 配合Adobe22-25系列软

Adobe Camera Raw 2025 年 2 月版&#xff08;版本 17.2&#xff09;。目前为止最新版新版已经更新2个月了&#xff0c;我看论坛之前分享的还是2024版&#xff0c;遂将新版分享给各位。 Adobe Camera Raw&#xff0c;支持Photoshop&#xff0c;lightroom等Adobe系列软件&#…

【论文精读】Reformer:高效Transformer如何突破长序列处理瓶颈?

目录 一、引言&#xff1a;当Transformer遇到长序列瓶颈二、核心技术解析&#xff1a;从暴力计算到智能优化1. 局部敏感哈希注意力&#xff08;LSH Attention&#xff09;&#xff1a;用“聚类筛选”替代“全量计算”关键步骤&#xff1a;数学优化&#xff1a; 2. 可逆残差网络…

jmeter中监控服务器ServerAgent

插件下载&#xff1a; 将ServerAgent上传至需要监控的服务器&#xff0c;mac/liunx启动startAgent.sh&#xff08;启动命令&#xff1a;./startAgent.sh&#xff09; 在jmeter中添加permon监控组件 配置需要监控的服务器IP地址&#xff0c;添加需要监控的资源 注意&#xf…