diff options
| author | Chris Rees <crees@FreeBSD.org> | 2013-05-04 18:27:34 +0000 |
|---|---|---|
| committer | Chris Rees <crees@FreeBSD.org> | 2013-05-04 18:27:34 +0000 |
| commit | fcbe3244896e82af6eb592b5cdc9c1a3b2f770f1 (patch) | |
| tree | c250d03b2233afd740a1775ae60820f1ad40ae37 /java/jboss72/files | |
| parent | Update to 1.117. (diff) | |
java/jboss72: distfile rerolled and enhance rc script
Distfile was rerolled, maintainer has checked that there are no spurious changes
RC script now can be tuned to hard way kill stuck JBoss or any child
processes preventing restart; RC script can be configured to make a
delay after killing (for example for restart).
Add LICENSE info.
PR: ports/178142
Submitted by: Alexander Yerenkow <yerenkow@gmail.com> (maintainer)
Diffstat (limited to 'java/jboss72/files')
| -rw-r--r-- | java/jboss72/files/jboss72.in | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/java/jboss72/files/jboss72.in b/java/jboss72/files/jboss72.in index f8f01ec4227f..61f0293bf62e 100644 --- a/java/jboss72/files/jboss72.in +++ b/java/jboss72/files/jboss72.in @@ -7,6 +7,7 @@ # PROVIDE: %%APP_SHORTNAME%% # REQUIRE: NETWORKING SERVERS +# KEYWORD: shutdown # Add the following lines to /etc/rc.conf to enable %%APP_SHORTNAME%%: # %%APP_SHORTNAME%%_enable (bool): Set to "YES" to enable %%APP_SHORTNAME%% @@ -17,9 +18,6 @@ . /etc/rc.subr -%%APP_SHORTNAME%%_user="%%USER%%" -%%APP_SHORTNAME%%_logdir="%%LOG_DIR%%" - name="%%APP_SHORTNAME%%" rcvar=%%APP_SHORTNAME%%_enable @@ -27,6 +25,11 @@ load_rc_config $name %%APP_SHORTNAME%%_enable="${%%APP_SHORTNAME%%_enable:-"NO"}" %%APP_SHORTNAME%%_logging="${%%APP_SHORTNAME%%_logging:-">> ${%%APP_SHORTNAME%%_logdir}/stdout.log 2>> ${%%APP_SHORTNAME%%_logdir}/stderr.log"}" +%%APP_SHORTNAME%%_sleep="${%%APP_SHORTNAME%%_sleep:-"5"}" +%%APP_SHORTNAME%%_kill9="${%%APP_SHORTNAME%%_kill9:-""}" +%%APP_SHORTNAME%%_additional_killall="${%%APP_SHORTNAME%%_additional_killall:-""}" +%%APP_SHORTNAME%%_user="%%USER%%" +%%APP_SHORTNAME%%_logdir="%%LOG_DIR%%" start_cmd="%%APP_SHORTNAME%%_start" stop_cmd="%%APP_SHORTNAME%%_stop" @@ -38,14 +41,13 @@ JBOSS_HOME="%%APP_HOME%%" { if [ ! -d "${%%APP_SHORTNAME%%_logdir}" ] then - mkdir -p ${%%APP_SHORTNAME%%_logdir} - chown ${%%APP_SHORTNAME%%_user} ${%%APP_SHORTNAME%%_logdir} + install -d -o ${%%APP_SHORTNAME%%_user} ${%%APP_SHORTNAME%%_logdir} fi echo "Starting %%APP_SHORTNAME%%." daemon -u ${%%APP_SHORTNAME%%_user} ${JBOSS_HOME}/bin/standalone.sh ${%%APP_SHORTNAME%%_logging} >> ${%%APP_SHORTNAME%%_logdir}/boot.log 2>> ${%%APP_SHORTNAME%%_logdir}/boot.log - sleep 1 # let daemon(8) and sh(1) finish before executing pgrep(1) + sleep ${%%APP_SHORTNAME%%_sleep} # let daemon(8) and sh(1) finish before executing pgrep(1) pgrep -U ${%%APP_SHORTNAME%%_user} -f ${JBOSS_HOME}/modules > ${pidfile} chown ${%%APP_SHORTNAME%%_user} $pidfile } @@ -56,6 +58,19 @@ JBOSS_HOME="%%APP_HOME%%" if [ -f ${pidfile} ] then kill `cat ${pidfile}` + # Only if we aware that our setup can hangs, and only after trying simple kill, we can kill it hard way. + if [ ! -z "${%%APP_SHORTNAME%%_kill9}" ] + then + sleep ${%%APP_SHORTNAME%%_sleep} + kill -9 `cat ${pidfile}` + fi + # In some setups, JBoss can spawn some child processess, which could prevent it from stopping, and freeing net ports. + # Let's blindly kill them all, since we are really know what we are doing. + if [ ! -z "${%%APP_SHORTNAME%%_additional_killall}" ] + then + sleep ${%%APP_SHORTNAME%%_sleep} + killall ${%%APP_SHORTNAME%%_additional_killall} + fi fi } |
