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

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...