#!/bin/sh # To ensure proper operation please change name of this script to 'zmstop.sh'. # Copyright (C) 2010 Damian Pasternok [2010-07-17] # License: GPLv3+ zmcontrol stop echo "Waiting until all Zimbra processes will be stopped..." sleep 15 SSHD_PID=$(ps -u zimbra | grep sshd | grep -v grep | \ awk '{ print $1 }') ZMSTOP_PID=$(ps -u zimbra | grep zmstop.sh | grep -v grep | \ awk '{ print $1 }') KILL_PIDS=$(ps -u zimbra h| grep -v sshd | grep -v zmstop.sh | \ grep -v grep | grep -v ps | awk '{ print $1 }') echo "Force killing any orphaned Zimbra processes..." echo "Exceptions:" echo "- sshd [PID $SSHD_PID]" echo "- zmstop.sh [PID $(echo $ZMSTOP_PID | tr '\n' ' ' | \ sed 's/\(.*\) /\1/')]" echo "Process IDs (if any): $(echo $KILL_PIDS | tr '\n' ' ')" if [ "$KILL_PIDS" ]; then kill -9 $KILL_PIDS fi