在包装器的 3.5.2 版本中,我们添加了实现您所要求的可能性,方法是在 java 应用程序的参数前使用“--”:
https ://sourceforge.net/tracker/?func=detail&aid =3017567&group_id=39428&atid=425190
这基本上适用于直接调用包装器的二进制文件,但是对于 shell 脚本,您可以通过稍微修改它来轻松实现相同的目的:
打开脚本并在 console()、start()(以及可选的 launchdinternally())中将 command_line 设置为以下内容:
COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=\"$APP_NAME\" wrapper.pidfile=\"$PIDFILE\" wrapper.name=\"$APP_NAME\" wrapper.displayname=\"$APP_LONG_NAME\" $ANCHORPROP $STATUSPROP $LOCKPROP $@"
注意最后的 $@ 。
现在,转到脚本的最后,它决定应该调用什么函数(控制台、启动、停止、重新启动等)
在“控制台”、“开始”(和“启动内部”)中设置一个班次并将参数从命令行传递给函数:
'console')
checkUser touchlock $1
shift
console $@
;;
'start')
if [ "$DIST_OS" = "macosx" -a -f "/Library/LaunchDaemons/${APP_PLIST}" ] ; then
macosxstart
else
checkUser touchlock $1
shift
start $@
fi
;;
.. 'launchdinternal')
shift
launchdinternal $@
;;
之后,您可以像这样调用脚本:
./script start|console -- para1 para2 ...
希望这可以帮助你。
干杯,基督徒