redhat – Linux:如何将参数传递给`service foo start`(在命令行)?

我想向我开始的服务传递一个论点.
例如.以调试模式启动服务器.喜欢,

service jboss-as start debug

或者这样.
但服务似乎不支持这一点.

有办法吗? (对于RHEL 6,如果重要的话.)

注意:这类似于Ubuntu/Linux: how are startup parameters typically defined for startup scripts (sysvinit)?但不一样.

最佳答案
在RHEL中,您有/ etc / sysconfig文件夹.在这里定义启动参数.
在您的启动脚本中,您包含以下内容:

if [ -f /etc/sysconfig/$prog ] ; then
    . /etc/sysconfig/$prog
fi

检查现有服务以获取示例.

对于开发,您可以将启动参数放在导出的变量中(例如在.bashrc中),您可以随时手动覆盖它.

编辑

如果您真的想使用服务,还有其他一些选择.

您的脚本应至少支持启动和停止.但您也可以实现调试命令.并启动您的程序:

service foo debug

另一种方法是检查脚本中的第二个参数,然后启动程序:

service foo start debug

将您的init脚本修改为:

case "$1" in
  start)
        if [ "$2" = "debug" ]
        then
                start_debug
        else
                start
        fi
        ;;

转载注明原文:redhat – Linux:如何将参数传递给`service foo start`(在命令行)? - 代码日志