Created
April 22, 2014 20:00
Revisions
-
chicks created this gist
Apr 22, 2014 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,132 @@ #!/bin/bash # chkconfig: 2345 90 90 # description: Cognos Business Intelligence ### BEGIN INIT INFO # Provides: cognos # Required-Start: network # Required-Stop: network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Description: Start the program ### END INIT INFO ### Fill in these bits: START_CMD="/opt/ibm/cognos/c10_64/bin64/cogconfig.sh -s -start 2>&1 &" NAME="cognos" PGREP_STRING="/opt/ibm/cognos/c10_64" PID_FILE="/var/run/cognos/cognos.pid" USER="root" ### No further muckin' about needed! CUR_USER=`whoami` killproc() { pkill -u $USER -f $PGREP_STRING } start_daemon() { eval "$*" } log_success_msg() { echo "$*" logger "$_" } log_failure_msg() { echo "$*" logger "$_" } check_proc() { pgrep -u $USER -f $PGREP_STRING >/dev/null } start_script() { if [ "${CUR_USER}" != "root" ] ; then log_failure_msg "$NAME can only be started as 'root'." exit -1 fi check_proc if [ $? -eq 0 ]; then log_success_msg "$NAME is already running." exit 0 fi [ -d /var/run/$NAME ] || (mkdir /var/run/$NAME ) # make go now start_daemon /bin/su $USER -c $START_CMD # Sleep for a while to see if anything cries sleep 5 check_proc if [ $? -eq 0 ]; then log_success_msg "Started $NAME." else log_failure_msg "Error starting $NAME." exit -1 fi } stop_script() { if [ "${CUR_USER}" != "root" ] ; then log_failure_msg "You do not have permission to stop $NAME." exit -1 fi check_proc if [ $? -eq 0 ]; then killproc -p $PID_FILE >/dev/null # Make sure it's dead before we return until [ $? -ne 0 ]; do sleep 1 check_proc done check_proc if [ $? -eq 0 ]; then log_failure_msg "Error stopping $NAME." exit -1 else log_success_msg "Stopped $NAME." fi else log_failure_msg "$NAME is not running or you don't have permission to stop it" fi } check_status() { check_proc if [ $? -eq 0 ]; then log_success_msg "$NAME is running." else log_failure_msg "$NAME is stopped." exit -1 fi } case "$1" in start) start_script ;; stop) stop_script ;; restart) stop_script start_script ;; status) check_status ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 1 esac exit 0