gpt4 book ai didi

systemd - systemctl status 为 systemctl status(不是底层服务)中的错误返回什么返回码?

转载 作者:行者123 更新时间:2023-12-04 15:43:49 34 4
gpt4 key购买 nike

http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic.html#INISCRPTACT
根据这个 systemctl status 有一个特殊的返回代码列表,它返回有关您正在查询的服务的信息。

If the status action is requested, the init script will return the following exit status codes.

0 program is running or service is OK
1 program is dead and /var/run pid file exists
2 program is dead and /var/lock lock file exists
3 program is not running
4 program or service status is unknown
5-99 reserved for future LSB use
100-149 reserved for distribution use
150-199 reserved for application use
200-254 reserved

没关系,但我对 1 并不意味着 systemctl status 的事实感到目瞪口呆。本身失败(不是底层服务)。
我正在编写一个脚本来查询正在启动的服务的状态,所以我希望看到状态代码 3 几次,然后是 0。但是我应该期待什么状态代码“ systemctl status 命令是 brazoke”?
我很想说 5+ 是一个不可恢复的错误,我应该等待服务出现,但这并不是本文档所说的具体内容。它只是给出一般保留。
如果有任何帮助,我正在使用 Ubuntu 16.04 和 18.04。也许那个供应商有特定的代码?我不知道。

最佳答案

恕我直言,退出状态在那里,以便脚本编写者(即您)可以获取状态命令的输出而无需解析输出。
前任:$ check [command]; echo $?
[command] is running
0
$
相比于:$ check [command1]; echo $?
[command1] is not running
0
$
知道命令是否正在运行的唯一方法是解析输出是否运行。将状态设置为 0 或 1 将使脚本更容易读取输出。当然,如果“check”命令不起作用,它就必须返回一个更高的退出代码。

关于systemd - systemctl status 为 systemctl status(不是底层服务)中的错误返回什么返回码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56719780/

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