开机自启动程序关闭方法,开机自启动程序怎么关闭

题图来自Unsplash,基于CC0协议
导读
开机速度慢,启动项过多,这些都是困扰不少电脑用户的烦恼。很多软件程序,甚至是普通游戏,都喜欢在系统启动时自动运行,这虽然有时能提供更快的访问速度,但确实牺牲了宝贵的启动时间,并且可能悄悄消耗你的系统资源。掌握关闭这些开机自启动程序的方法,可以让你的电脑启动更快,运行更流畅。
Windows 禁用开机自启软件教程
Windows 系统中,最常用且直观的关闭开机启动项的方法有几种:
-
通过任务管理器:
- 按下
Ctrl + Shift + Esc组合键,打开任务管理器。 - 切换到“启动”选项卡。这里会列出所有设置为开机启动的程序,以及它们的“状态”和“影响”等级。
- 对于你确定不需要开机启动的程序,选中它,然后点击底部的“禁用”按钮。
- 按下
-
通过运行命令与 msconfig:
- 按下
Win + R键,打开“运行”对话框。 - 输入
msconfig并按回车。 - 在“系统配置”窗口中,切换到“启动”选项卡。
- 注意: 默认情况下,许多默认启动项是勾选保护状态(Prohibit Removing)的,特别是与系统核心功能或防病毒软件相关的项,勾选移除它们可能会导致系统不稳定或功能缺失!请务必小心,最好了解每个启动项的作用。
- 取消勾选你确定需要禁止启动的项目。
- 点击“应用”或“确定”,然后可能需要重启电脑。
- 按下
-
通过服务管理器:
- 按下
Win + R,输入services.msc并确定。 - 在服务列表中找到相应的服务,查看其“启动类型”。如果是“自动”,说明它会在开机时自动启动。
- 右键点击该服务,选择“属性”,将“启动类型”设置为“手动”或“禁用”。
- 与方法二类似,修改服务启动类型需要谨慎操作,确保不关闭关键系统服务。
- 按下
-
通过第三方启动管理软件:
- 市面上有许多专业的启动项管理工具,如 CCleaner、WCCN (Wise Computer Care) 等。
- 这些工具通常提供更用户友好的界面来扫描、识别和管理开机启动项。
- 使用第三方工具时请注意来源的可靠性,避免使用带有恶意软件的盗版或非官方版本,安装反病毒软件是个好习惯。
macOS 关闭开机启动项方法
macOS 的启动项管理相对系统化,主要通过 Launch Agents 和 Launch Daemons 以及“登录项”来控制。
-
检查登录项(推荐):
- 打开“系统偏好设置”。
- 点击“用户与群组”。
- 点击“登录项”选项卡。
- 这里会列出当前开机和用户登录时会自动启动的程序。你可以直接选择不需要的项目,然后点击下方的“-”号来移除它。
- 应用更改后需要重新登录用户账户或重启Mac。
-
检查系统级启动项:
- 通过目录: 默认情况下,用户级别的Launch Agents和Daemons通常位于
/Users/your_username/Library/LaunchAgents/和/Users/your_username/Library/LaunchDaemons/下。 *. 系统级的这些在/Library/LaunchAgents/和/Library/LaunchDaemons/下。 - 文件名通常是
.plist结尾。 - 关闭某个项,你需要将其移动到另一个文件夹(例如其下级的
Disabled文件夹,或直接移动出启动目录根路径),而不是简单地删除(删除可能导致不可预见问题)。 - 修改plists: 如果你熟悉XML*. 你也可以直接编辑这些 plist 文件,将原本的
<key>Label</key><string>对应的PID</string>和<key>RunAtLoad</key><true/>修改为<key>RunAtLoad</key><false/>来阻止它在下次加载时运行。这种方法需要对 plist 格式有一定了解。
- 通过目录: 默认情况下,用户级别的Launch Agents和Daemons通常位于
-
使用 launchctl 命令行:
- 打开“终端”。
- 首先可以查询某个 Launch Agent/Daemon的状态:
launchctl list | grep 常见的PID或路径 - 要禁用某个项目,可以使用
launchctl unload /路径/到/你的.plist。注意路径格式要正确。 - 思考,这种方式比较适合高级用户。
Linux 禁止程序开机自启动命令
Linux 系统的启动管理方式通常有两种主要类型:System V Init 脚本 和 Systemd 服务。
-
使用 Systemd (当前最常用的系统,如果你使用的是较新的 Linux 发行版如 Ubuntu 16.04/18.04 LTS 及更新、CentOS 7/8 及更新等):
- 所有服务通常都配置为一个
.service文件。 - 查找服务文件: 通常位于
/usr/lib/systemd/system/或/etc/systemd/system/。 - 禁用服务: 进入终端,切换到 root 或具有 sudo 权限,运行
sudo systemctl disable 服务名称.service(例如sudo systemctl disable bluetooth.service)。 - **如果
.service文件不存在,但有对应的.devicetree/.target情况,则使用systemctl isolate basic.target或suspend.target等,需要先确认你想进入的状态。 - **如果你不知道服务名称,可以使用
systemctl list-unit-files(不长太详细) 或systemctl list-units --type=service --all(列出所有服务,可能需要翻屏) 或find /etc/init.d/ -type f查看所有使用旧init脚本的程序,然后通过/etc/init.d/服务名 stop停止它,并使用update-rc.d 服务名 remove删除其启动配置。
- 所有服务通常都配置为一个
-
使用 SysV Init: (较旧的系统或特定服务)
- 服务的配置脚本通常位于
/etc/init.d/目录下。 - 这些脚本通常支持一些命令:
status查看状态,start开始,stop停止,reload重新加载配置,restart重启。 - 通常还有一个
chkconfig或update-rc.d命令来管理该脚本开机是否自启。 - 启用:
sudo /etc/init.d/服务名 start - 禁用:
sudo update-rc.d -f 服务名 remove或sudo chkconfig --level 345 服务名 off(345通常是默认的多用户运行级别,具体查看你系统的可选运行级别)。 - 查询当前状态:查看依赖的具体命令。
- 服务的配置脚本通常位于
开机自启动程序影响电脑速度吗
毫无疑问,过多或不必要开机自启动程序会显著影响电脑的开机速度。
- 开机时间: 每一个自启动程序都意味着电脑必须多加载一次系统服务、驱动或应用程序,增加了开机时需要初始化和加载的项目数量,从而延长了用户等待看到登录界面或桌面的时间。
- 资源占用: 启动完成后,这些自启动程序会继续消耗CPU、内存和磁盘I/O资源。如果程序还在后台进行更新、索引、同步或者不必要的网络活动,即使你暂时没有打开它们,它们也可能持续占用资源,影响其他应用程序的运行性能,尤其是在资源相对紧张的小型电脑或笔记本上。
因此,定期检查并清理不必要的开机启动项,是释放系统性能、获得更流畅使用体验的重要一步。
如何查看哪些程序开机自动运行
知道有哪些程序在开机时自动运行,是管理它们的前提:
-
Windows:
- 使用任务管理器的“启动”选项卡(简单直观,但对第三方和服务的支持稍弱)。
- 使用
msconfig的“启动”选项卡(功能更全,但需谨慎操作)。 - 检查
C:ProgramDataMicrosoftWindowsStart MenuProgramsStartup、C:Users你的用户名DesktopStartup和C:Users你的用户名AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup目录下的快捷方式。用户级别的Startup目录在桌面上有个快捷方式指示,但实际在程序员藏品文件夹里。 - 检查注册表键值(此项高级,风险高,应通过命令行或安装软件查询),Windows 可以通过输入 regedit 打开注册表编辑器,然后查看
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun(用户级别的)和HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun(系统级别的)。
-
macOS:
- 使用“系统偏好设置” -> “用户与群组” -> “登录项” (主要查看用户层面的启动项)。
- 使用活动监视器,在启动时搜索正在运行的程序。
- 使用命令行:
launchctl list | grep PID(如果.pid文件还在的话) 或结合grep查找内容,通常更适合系统管理。 - 检查 /Users/your_user/Library/Launch* 首字母缩写,以
.plist为扩展名的文件。
-
Linux:
- Systemd: 使用
systemctl list-units --type=service --state=running(列出正在运行的服务) 或systemctl list-unit-files | grep enabled(列出所有已启用开机启动的服务,但效果不如Stop下可查,通常用enable和disable命令管理)。 - SysV Init: 查看
/etc/rc*.d/目录下的链接文件,这些链接指向/etc/init.d/ 下的脚本。
- Systemd: 使用
通过这些方法,你可以清楚地了解哪些程序在“自作主张”地控制着你的电脑启动。然后,就能有针对性地决定是否对它们采取行动了。
© 版权声明
本文由盾科技原创,版权归 盾科技所有,未经允许禁止任何形式的转载。转载请联系candieraddenipc92@gmail.com