#!/bin/sh ### BEGIN INIT INFO # Provides: appserver # Required-Start: $network # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Totvs appserver start/stop script. # Description: Totvs appserver daemon. ### END INIT INFO # Author: Renan Fragoso . /lib/lsb/init-functions PIDFILE=/var/run/appserver.pid DAEMON=${INSTALL_PATH}/protheus/bin/appserver_linux/appsrvlinux # Exit if the package is not installed [ -x "$DAEMON" ] || exit 0 appserver_start(){ # Declara variavel de ambiente para carga de libs .so export LD_LIBRARY_PATH="${INSTALL_PATH}/protheus/bin/appserver_linux;"$LD_LIBRARY_PATH # ulimits podem ser adicionados ao /etc/security/limits.con (ou equivalente) # e posteriormente adicionada chamada do pam_limits.so no arquivo/etc/pam.d/common-session # (realizar este procedimento com cautela pois pode danificar o login na maquina) ulimit -n 32768 ulimit -s 1024 ulimit -m 2048000 ulimit -v 2048000 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --name appsrvlinux --test > /dev/null || return 1 start-stop-daemon --start --quiet -m --pidfile $PIDFILE --exec $DAEMON --name appsrvlinux -- daemon > /dev/null || return 2 } appserver_stop(){ start-stop-daemon --stop --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name "appsrvlinux" RETVAL=$? rm -f $PIDFILE return $RETVAL } update_pid(){ STRTOF=$(echo "$DAEMON" | sed -e 's/\//\\\//g') PID=`ps xh -o pid,cmd | sed -n {/$STRTOF/p} | awk '{print $1}'` if [ -n "$PID" ]; then echo $PID > $PIDFILE fi } case $1 in start) log_daemon_msg "Starting Appserver ..." appserver_start update_pid case "$?" in 0|1) log_end_msg 0 ;; 2) log_end_msg 1 ;; esac ;; stop) log_daemon_msg "Stopping Appserver ..." appserver_stop case "$?" in 0|1) log_end_msg 0 ;; 2) log_end_msg 1 ;; esac ;; restart) log_daemon_msg "Restarting Appserver ..." appserver_stop appserver_start ;; status) status_of_proc "$DAEMON" "appserver" && exit 0 || exit $? ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 3 ;; esac