s114 Asked: 2021-08-04 05:11:45 +0800 CST2021-08-04 05:11:45 +0800 CST 2021-08-04 05:11:45 +0800 CST 多个linux关机时间表及其行为 772 如果我多次安排关机,会有什么行为?例如: shutdown +20 shutdown +25 第二个关闭命令会覆盖第一个吗? 另外,如果我使用shutdown -c取消关机怎么办?例如 shutdown +20 shutdown +25 shutdown -c 它会取消所有关闭计划还是仅取消最后一个? linux shutdown 1 个回答 Voted Best Answer user1686 2021-08-04T05:34:16+08:002021-08-04T05:34:16+08:00 如果您使用systemd 提供的“关闭”命令: 有一个集中管理的关闭计时器(由systemd-logind服务管理)。尝试多次安排关机只会自动取消并用新参数替换超时和操作。 shutdown +XX调用 systemd-logind 的 ScheduleShutdown(),它设置或调整计时器。 shutdown -c调用 systemd-logind 的 CancelScheduledShutdown(),它会禁用计时器。 如果您使用 Linux sysvinit 中的关闭命令: 该程序使用 pid 文件来确保只能安排一次关机。如果您尝试运行它两次,您应该会收到消息“shutdown: already running”。(除非您不小心删除了它用来跟踪事物的 pidfile。) shutdown +XX如果发现一个已经在后台运行的进程(根据存储在 /var/run/shutdown.pid 中的 PID),则拒绝启动一个新的“排队关闭”进程。 shutdown -c假设您不能启动多个进程,则恰好杀死一个“排队关闭”进程(其 PID 是从 shutdown.pid 中读取的)。
如果您使用systemd 提供的“关闭”命令:
有一个集中管理的关闭计时器(由systemd-logind服务管理)。尝试多次安排关机只会自动取消并用新参数替换超时和操作。
shutdown +XX
调用 systemd-logind 的 ScheduleShutdown(),它设置或调整计时器。shutdown -c
调用 systemd-logind 的 CancelScheduledShutdown(),它会禁用计时器。如果您使用 Linux sysvinit 中的关闭命令:
该程序使用 pid 文件来确保只能安排一次关机。如果您尝试运行它两次,您应该会收到消息“shutdown: already running”。(除非您不小心删除了它用来跟踪事物的 pidfile。)
shutdown +XX
如果发现一个已经在后台运行的进程(根据存储在 /var/run/shutdown.pid 中的 PID),则拒绝启动一个新的“排队关闭”进程。shutdown -c
假设您不能启动多个进程,则恰好杀死一个“排队关闭”进程(其 PID 是从 shutdown.pid 中读取的)。