Criei o script e deixei lá no github. Veja abaixo:
| #!/bin/bash | |
| # | |
| # chkconfig: 345 60 40 | |
| # | |
| # JBoss AS7+/EAP 6+ Control Script for DomainMode on EL6 platform | |
| # | |
| # Developped by: | |
| # Sebastian Webber - http://swebber.me | |
| # Last update: | |
| # 2014-10-30 | |
| # | |
| ## DEFAULT SETTINGS ########################################### | |
| JBOSS_HOME="/opt/jboss-eap-6.3" | |
| JBOSS_INSTANCE_PARMS="" | |
| #JBOSS_INSTANCE_PARMS="${JBOSS_INSTANCE_PARMS} -Djboss.host.default.config=host-slave.xml" | |
| #JBOSS_INSTANCE_PARMS="${JBOSS_INSTANCE_PARMS} -Djboss.domain.master.address=10.0.0.1" | |
| SERVICE_USER="jboss" | |
| ## STOP EDITING HERE ########################################### | |
| . /etc/init.d/functions | |
| function get_pid() { | |
| java_pid=$(ps u -C java | grep '\[Process Controller\]' | awk '{print $2}') | |
| echo ${java_pid} | |
| } | |
| function do_stop() { | |
| current_pid=$( get_pid ) | |
| if [ "${current_pid}X" = "X" ]; then | |
| warning ; echo "Process controller is NOT running..." | |
| else | |
| echo -n -e "Stopping the process controler." | |
| kill -15 ${current_pid} | |
| while [ "${current_pid}X" != "X" ]; do | |
| sleep 1 | |
| echo -n -e "." | |
| current_pid=$( get_pid ) | |
| done | |
| success ; echo "Process controler was stopped..." | |
| fi | |
| } | |
| function do_start() { | |
| current_pid=$( get_pid ) | |
| if [ "${current_pid}X" != "X" ]; then | |
| warning ; echo "Process controller is already running..." | |
| else | |
| console_log_dir="${JBOSS_HOME}/domain/log" | |
| if [ ! -d "${console_log_dir}" ]; then | |
| mkdir -p ${console_log_dir} | |
| chown -R ${SERVICE_USER}:${SERVICE_USER} ${console_log_dir} | |
| fi | |
| echo -n -e "Starting process controller..." | |
| _console_log="${console_log_dir}/console.log" | |
| touch ${_console_log} | |
| chown ${SERVICE_USER}:${SERVICE_USER} ${_console_log} | |
| _cmd="${JBOSS_HOME}/bin/domain.sh ${JBOSS_INSTANCE_PARMS} > ${_console_log} 2>&1 &" | |
| su - ${SERVICE_USER} -c "${_cmd}" | |
| if [ $? -eq 0 ]; then | |
| sleep 3 && show_status | |
| else | |
| failure ; echo "Process controller fail to start..." | |
| fi | |
| fi | |
| } | |
| function show_status() { | |
| java_pid=$( get_pid ) | |
| if [ "${java_pid}X" != "X" ]; then | |
| success ; echo "Process controller is running in ${java_pid} process..." | |
| else | |
| warning ; echo "Process controller is NOT running..." | |
| fi | |
| } | |
| function show_usage() { | |
| this_script=$(basename ${0}) | |
| echo "Usage: ${this_script} (start|stop|restart|status|help)" | |
| } | |
| case "${1}" in | |
| start) do_start ;; | |
| stop) do_stop;; | |
| restart) do_stop ; do_start ;; | |
| status) show_status ;; | |
| *) show_usage ;; | |
| esac |
O mesmo pode ser utilizado no Wildfly 8 sem problemas.