Windows 和 Linux 关机、重启命令及定时操作
本文目录
Windows 和 Linux 都可以通过命令关机、重启或设置定时关机。下面先列出常用命令,再介绍各命令的区别和使用方法。
Windows 部分适用于 Windows 10、Windows 11 和常见 Windows Server 版本;Linux 部分以使用 systemd 的发行版为例。不同系统版本或命令实现可能有所差异,请以本机帮助和文档为准。
一、Windows 和 Linux 关机、重启命令对照
Linux 命令通常需要管理员权限,以下示例使用 sudo。Windows 命令可以在命令提示符(CMD)或 PowerShell 中使用。
| 操作 | Windows | Linux(systemd) |
|---|---|---|
| 立即关机并关闭电源 | shutdown /s /t 0 |
sudo shutdown -h nowsudo poweroffsudo halt -psudo init 0sudo systemctl poweroff
|
| 立即重启 | shutdown /r /t 0 |
sudo shutdown -r nowsudo rebootsudo init 6sudo systemctl reboot
|
| 一小时后关机 | shutdown /s /t 3600 |
sudo shutdown -h +60 |
| 十分钟后重启 | shutdown /r /t 600 |
sudo shutdown -r +10 |
| 取消等待中的关机或重启 | shutdown /a |
sudo shutdown -c |
| 停止系统,通常不关闭电源 | 无直接对应的常用命令 |
sudo haltsudo systemctl halt
|
注意时间单位:Windows 的 /t 使用秒;systemd Linux 的 shutdown +数字 使用分钟。
二、Windows 关机和重启命令
1. 立即关机
shutdown /s /t 0
/s:关闭计算机。/t 0:等待 0 秒后执行。
2. 立即重启
shutdown /r /t 0
/r 表示关闭并重启计算机。
3. 定时关机或重启
一小时后关机:
shutdown /s /t 3600
十分钟后重启:
shutdown /r /t 600
/t 后面的数字以秒为单位。等待时间大于 0 时,Windows 会隐含启用 /f,到时强制关闭正在运行的应用程序,未保存的数据可能丢失,请提前保存工作。
4. 取消定时关机或重启
在等待期间执行:
shutdown /a
该命令用于取消尚未执行的关机或重启。已经开始执行的操作无法通过它撤销。
5. 使用 PowerShell 关机或重启
在 PowerShell 中,也可以使用以下命令操作本机:
# 关机
Stop-Computer
# 重启
Restart-Computer
更多参数可参考 Microsoft shutdown 命令文档和 PowerShell 更改计算机状态文档。
三、Linux 关机和重启命令
以下示例适用于使用 systemd 的 Linux 系统,例如 Ubuntu、Debian、RHEL 及其部分衍生发行版。非 systemd 系统的命令行为可能不同,可通过 man 命令名 查看本机文档。
1. shutdown:定时关机或重启
shutdown 可以立即或定时关闭、重启系统。正常情况下,它会通知已登录用户,并由系统执行关机流程。
立即关机:
sudo shutdown -h now
一分钟后关机:
sudo shutdown -h +1
在 systemd 的 shutdown 中,+1 表示从现在起等待 1 分钟,+60 表示 60 分钟后执行。
在系统本地时间 23:00 关机:
sudo shutdown -h 23:00
时间采用 24 小时制。设置前请确认系统时间正确。
立即重启:
sudo shutdown -r now
十分钟后重启,并向已登录用户发送提示:
sudo shutdown -r +10 "系统将在 10 分钟后重启,请保存工作。"
取消尚未执行的关机或重启计划:
sudo shutdown -c
常用参数包括:-h 用于关机,-r 用于重启,-c 用于取消计划,--no-wall 用于不发送广播消息。详见 systemd shutdown 官方文档。
2. poweroff:关机并关闭电源
poweroff 用于关闭系统并请求关闭电源。普通使用时,系统会通过正常关机流程停止服务:
sudo poweroff
3. reboot:重启系统
sudo reboot
远程操作时,连接会在重启过程中断开;系统启动完成后,需要重新连接。
4. halt:停止系统
在 systemd 中,普通的 halt 会执行关机流程并停止内核,但通常不会关闭硬件电源:
sudo halt
如果需要关闭电源,可以使用 halt -p,也可以直接使用更直观的 poweroff:
sudo halt -p
在一些旧版或非 systemd 系统中,halt 的行为可能不同。具体选项可参考 systemd halt、poweroff 和 reboot 官方文档。
5. init:切换运行级别
在传统 SysV init 中,运行级别 0 通常用于关机,运行级别 6 用于重启:
# 关机
sudo init 0
# 重启
sudo init 6
systemd 提供了与传统运行级别的兼容机制,但日常使用建议直接使用 poweroff、reboot 或 systemctl。参见 systemd 运行级别兼容说明。
6. systemctl:通过 systemd 管理电源操作
在使用 systemd 的系统中,也可以通过 systemctl 执行电源操作:
# 关机并关闭电源
sudo systemctl poweroff
# 重启
sudo systemctl reboot
# 停止系统,通常不关闭电源
sudo systemctl halt
相关行为和选项可参考 systemctl 官方文档。
四、Linux 命令有什么区别?
- shutdown:支持立即或定时关机、重启,也可以取消尚未执行的计划。需要定时操作时可以使用它。
- poweroff:关闭系统并请求关闭电源,适合日常立即关机。
- reboot:关闭系统并重启,适合日常立即重启。
- halt:在 systemd 中默认停止系统,但通常不关闭硬件电源;加上
-p才请求关闭电源。 - init:通过传统运行级别控制系统。
init 0用于关机,init 6用于重启,主要用于兼容传统操作方式。 - systemctl:systemd 的管理工具,可以通过
poweroff、reboot或halt子命令执行对应操作,也可以管理系统服务。
在 systemd 系统中,普通的 poweroff、reboot、halt 和对应的 systemctl 命令都会请求系统执行相应操作,并非默认跳过清理。
五、注意事项
- 操作前保存工作,并确认重要任务、数据库或其他服务可以停止。
- 远程管理计算机或服务器时,确认关机或重启后有可用的管理方式,避免无法重新连接。
- 谨慎使用强制关闭选项。强制关闭可能导致未保存的数据丢失,Linux 上还可能跳过正常的服务停止或文件系统卸载流程。

