Talk:Running iDempiere from Installers
From iDempiere en
Yogan Naidoo - nTier Software
I had to do the following to get the service working on Suse Enterprise Server 15.
Changed the stop() as follows: ....the important changes were:
# Retrieve the process IDs (pids) instead of process group IDs (pgids) PIDS=$(ps ax o pid,command | grep java | grep "${IDEMPIERE_HOME}" | grep -v grep | awk '{print $1}') ...note the grep java as well...otherwise it kills the service as well.
stop() { getidempierestatus if [ $IDEMPIERESTATUS -ne 0 ] ; then echo "iDempiere is already stopped" rc_failed 0 return fi echo -n "Stopping iDempiere ERP: " cd $IDEMPIERE_HOME/utils || exit export ID_ENV=Server . $ENVFILE # try shutdown from OSGi console, then direct kill with signal 15, then signal 9 log_warning_msg "Trying shutdown from OSGi console" ( echo exit; echo y; sleep 5 ) | telnet localhost ${TELNET_PORT} > /dev/null 2>&1 # Retrieve the process IDs (pids) instead of process group IDs (pgids) PIDS=$(ps ax o pid,command | grep java | grep "${IDEMPIERE_HOME}" | grep -v grep | awk '{print $1}') if [ -z "$PIDS" ]; then echo "iDempiere process is not running" else # Loop through each pid and send signal -15 (SIGTERM) to terminate the process for PID in $PIDS; do echo "Trying to stop iDempiere process with pid: $PID.Trying with signal -15" kill -15 "$PID" done # Wait for a moment to allow the processes to terminate gracefully sleep 5 # Check if any processes are still running for PID in $PIDS; do if ps -p "$PID" > /dev/null; then echo "Failed to stop iDempiere process with pid: $PID. Trying with signal -9" kill -9 "$PID" else echo "Successfully stopped iDempiere process with pid: $PID" fi done fi rc_status -v }
and then I struggled with the service file as well. This eventually worked for me:
[Unit] Description=iDempiere Service After=network.target [Service] ExecStart=/opt/idempiere-server/utils/unix/idempiere_Suse.sh start RemainAfterExit=true ExecStop=/opt/idempiere-server/utils/unix/idempiere_Suse.sh stop ExecReload=/opt/idempiere-server/utils/unix/idempiere_Suse.sh restart Type=oneshot [Install] WantedBy=multi-user.target