If you plan on starting your J2EE services manually, and wish to keep them running after you log out, a common method is to use nohup ./command.sh &.
The challenge with the above process, is it will create its own output file nohup.out in the folder that the command was executed in.
Additionally, this nohup.out would be a 2nd I/O operation that would recreate the server.log file for the J2EE service.
To avoid this 2nd I/O operation, review leveraging a redirection of the nohup to /dev/null or determine if this J2EE service can be enabled as a RC/init.d or systemd service.
Example to update the wildfly .profile to allow an “alias” using a bash shell function, to start up the wildfly service; and avoid the creation of the nohup.out file.
echo "Enable alias (or function) to start and stop wildfly"
#Example of function - Use this to avoid double I/O for nohup process (nohup.out file)
function start_im01 () {
echo "Starting IM 01 node with nohup process"
cd /opt/CA/wildfly-idm01/bin/
pwd
nohup ./standalone.sh >/dev/null 2>&1 &
sleep 1
/bin/ps -ef | grep wildfly-idm01 | grep -v grep
}
export -f start_im01
function stop_im01 () {
echo "Stopping IM 01 node"
echo "This may take 30-120 seconds"
cd /opt/CA/wildfly-idm01/bin/
pwd
./jboss-cli.sh --connect --command=":shutdown"
sleep 5
/bin/kill -9 `/bin/ps -ef | grep wildfly-idm01 | grep -v grep | awk '{print $2}'` >/dev/null 2>&1
}
export -f stop_im01
You may now start and stop your J2EE Wildfly service with the new “aliases” of start_im01 and stop_im01
You may note that stop_im01 attempts to cleanly stop the Wildfly service via the JBOSS/Wildfly management console port ; and if that fails, we will search and kill the associated java service. If you did “kill” a service, and have startup issues suggest removing the $JBOSS_HOME/standalone/tmp & /data folders before restart.