gpt4 book ai didi

Systemd 单元,使用外部脚本检查状态

转载 作者:行者123 更新时间:2023-12-01 11:24:12 24 4
gpt4 key购买 nike

简短版本是:

我有一个 systemd 单元,我想在调用时检查脚本的返回代码:
systemctl status service.service
长版本:我有一个 lsb init 脚本正是这样做的,当 status 作为参数传递时,它调用一个脚本来检查几个进程的状态,并根据返回码,init 系统正确返回软件的状态。

现在,在将脚本调整到 systemd 时,我不知道如何配置此行为。

最佳答案

简答

这在 systemd 中是不可能的。 systemctl status动词总是做同样的事情,它不能按单位覆盖到自定义操作。

长答案

你可以写一个 foo-status.service带有 Type=oneshot 的单元文件和 ExecStart=指向您的自定义状态脚本,然后运行 ​​systemctl start foo-status .但是,这只会提供零/非零信息(任何非零退出代码都将转换为 1)。

要获取状态脚本的真正退出代码,请运行 systemctl show -pExecMainStatus foo-status ,但是,如果您走到这一步,那么直接运行您的脚本会更简单。

关于Systemd 单元,使用外部脚本检查状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39093653/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com