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
        ;;

相关文章

文章浏览阅读1.8k次,点赞63次,收藏54次。Linux下的目录权限...
文章浏览阅读1.6k次,点赞44次,收藏38次。关于Qt的安装、Wi...
本文介绍了使用shell脚本编写一个 Hello
文章浏览阅读1.5k次,点赞37次,收藏43次。【Linux】初识Lin...
文章浏览阅读3k次,点赞34次,收藏156次。Linux超详细笔记,...
文章浏览阅读6.8k次,点赞109次,收藏114次。【Linux】 Open...