如何让systemd调用我的“status”命令?

前端之家收集整理的这篇文章主要介绍了如何让systemd调用我的“status”命令?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们正在用Ubuntu 16.04替换Ubuntu 8.04服务器.服务器运行我们需要的单个(非OS)服务. (我是该服务的开发人员,而不是本周休假的系统管理员)服务脚本看起来像这样:
#!/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

更新Java的路径后……我得到了服务.但是打电话:

sudo service my_service status

返回一些“标准”systemd输出,而不是脚本的“status”部分中的代码.如果我这样做,结果相同:

sudo /etc/init.d/my_service status

我对systemd认为我想知道/看到的内容不感兴趣;我只是希望它执行我的代码而不是它自己的代码.

“status”的输出由某些Web管理控制台解析,我不想更改该应用程序以考虑在特定服务器上安装的Linux版本.同一服务的“status”应使用相同的格式(IMO)输出,与特定的OS版本无关.

我如何告诉systemd“尊重”我的状态命令,而不是忽略它?

搜索“systemd status”并没有把我带到任何地方,除了我了解到systemd似乎相当复杂.

systemd不支持自定义状态命令.你有几个选择:

>您可以保留自定义状态命令并直接通过systemd调用它.> systemd通过systemctl show your-service-name提供机器可解析状态输出.如man systemctl中所示,您还可以使用systemctl set-property设置可以在状态中报告的自定义属性.您可以教您的Web管理控制台来解析此输出.

猜你在找的Ubuntu相关文章