systemd-inhibit 中文手册

译者:金步国


版权声明

本文译者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布。

其他作品

本文译者十分愿意与他人分享劳动成果,如果你对我的其他翻译作品或者技术文章有兴趣,可以在如下位置查看现有的作品集:

联系方式

由于译者水平有限,因此不能保证译文内容准确无误。如果你发现了译文中的错误(哪怕是错别字也好),请来信指出,任何提高译文质量的建议我都将虚心接纳。


手册索引 · 指令索引systemd-241

名称

systemd-inhibit — 执行一个程序并阻止或延迟系统休眠或关机

大纲

systemd-inhibit [OPTIONS...] [COMMAND] [ARGUMENTS...]

systemd-inhibit [OPTIONS...] --list

描述

systemd-inhibit 可用于运行那些必须保持开机状态的程序, 在 [COMMAND] 程序开始运行的时候, 将获得一个阻止系统休眠或关机的锁, 并在运行结束之后才会释放这个锁。

这个抑制锁能够阻止或延迟系统的休眠或关机, 不管这个休眠或关机的请求是用户发起的, 还是操作系统自己触发的。 这个锁可用于确保例如刻录光盘之类不能被中断的任务, 不会被系统休眠或关机动作打断。

详见 Inhibitor Lock Developer Documentation

选项

能够识别的命令行选项如下:

--what=

接收一个冒号分隔的下列值的列表, 表示阻止对应的动作: "shutdown"(重启/关机/kexec), "sleep"(休眠), "idle"(自动闲置检测), "handle-power-key"(按下电源键), "handle-suspend-key"(按下休眠键), "handle-hibernate-key"(按下休眠键), "handle-lid-switch"(合上盖子)。 默认值是 "idle:sleep:shutdown"

--who=

为获取阻止锁的程序设置一个描述性的字符串。 若未设置, 则使用被执行的命令行字符串。

--why=

为获取阻止锁的原因设置一个描述性的字符串。 默认值是 "Unknown reason"

--mode=

必须设为 "block" 或 "delay" 之一。 默认值 "block" 表示无限期阻止关机与休眠, 并且只允许超级用户才能取消阻止锁。 "delay" 表示将关机与休眠推迟一段时间, 超时之后,即使锁依然存在,也将关机或休眠。 推迟多长时间取决于 logind.conf(5) 中的设置。 注意, "delay" 仅可用于 "sleep" 与 "shutdown"

--list

列出所有已被激活的阻止锁, 而不是获取一个阻止锁。

--no-pager

不将程序的输出内容管道(pipe)给分页程序。

--no-legend

不输出列标题, 也就是不在输出列表的头部和尾部显示字段的名称。

-h, --help

显示简短的帮助信息并退出。

--version

显示简短的版本信息并退出。

退出状态

等于被执行的程序的退出状态

例子

# systemd-inhibit wodim foobar.iso

foobar.iso 镜像使用 wodim(1) 写入光盘中, 并在写入过程中禁止系统休眠与关机。

环境变量

$SYSTEMD_PAGER

指定分页程序。仅在未指定 --no-pager 选项时有意义。 此变量会覆盖 $PAGER 的值。如果 $SYSTEMD_PAGER$PAGER 都未设置, 那么将会依次尝试如下常见的分页程序: less(1), more(1), 如果最终仍未找到分页程序,那么将不使用分页。 将此变量设为空字符串或 "cat" 等价于使用 --no-pager 选项。

$SYSTEMD_LESS

用于覆盖默认传递给 less 程序的命令行选项("FRSXMK")。

如果 $SYSTEMD_LESS 的值不含 "K" , 并且使用 less 作为分页程序,那么 Ctrl+C 信号将会被忽略。 这将允许 less 自己处理 Ctrl+C 信号。

$SYSTEMD_LESSCHARSET

用于覆盖默认传递给 less 程序的字符集。 (如果终端兼容 UTF-8 ,那么默认值是 "utf-8" )

参见

systemd(1), logind.conf(5)