mon*_*ter 7 systemd ubuntu-16.04
我们正在用 Ubuntu 16.04 替换 Ubuntu 8.04 服务器。服务器运行我们需要的单个(非操作系统)服务。(我是该服务的开发人员,而不是本周休假的系统管理员)服务脚本如下所示:
#!/bin/sh
# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh
# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions
# ...
case "$1" in
start)
umask 002
#...
exit $?
;;
stop)
# ...
exit $?
;;
restart)
stop || exit $?
start
exit $?
;;
status)
# ...
exit $?
;;
*)
echo "Usage my_service (start|stop|restart|status)"
exit 1;;
esac
Run Code Online (Sandbox Code Playgroud)
更新到 Java 的路径后......我让服务开始工作。但是调用:
sudo service my_service status
Run Code Online (Sandbox Code Playgroud)
返回一些“标准”systemd 输出,而不是脚本“状态)”部分中的代码。如果我这样做,结果相同:
sudo /etc/init.d/my_service status
Run Code Online (Sandbox Code Playgroud)
我对 systemd 认为我想知道/看到的内容不感兴趣;我只希望它执行我的代码而不是它自己的代码。
“状态”的输出由某个 Web 管理控制台解析,我不想更改该应用程序以考虑特定服务器上安装的 Linux 版本。同一服务的“状态”应使用相同的格式 (IMO) 输出,与特定的操作系统版本无关。
我如何告诉 systemd “尊重”我的状态命令,而不是忽略它?
搜索“systemd status”并没有让我找到任何地方,除了我了解到 systemd 似乎相当复杂之外。
systemd不支持自定义status命令。你有几个选择:
systemd。systemd通过 提供机器可解析的状态输出systemctl show your-service-name。如 中所示man systemctl,您还可以使用systemctl set-property设置可以在状态中报告的自定义属性。您可以教您的网络管理控制台解析此输出。| 归档时间: |
|
| 查看次数: |
6942 次 |
| 最近记录: |