Linux环境下,程序通用启动脚本
#!/bin/sh
# should config first
prog="program name" # like 'kafka'
exec_path="/home/hadoop/local/kafka" # like /home/hadoop/local/kafka
exec="execute command" # execute command
pidfile="/home/hadoop/local/pids/${prog}.pid" # pid file
log_timestamp_file="/home/hadoop/logs/kafka/$prog" # log timestamp
success() {
echo "start $prog sucess!"
}
failure() {
echo "start $prog fail!"
}
start() {
[ -x $exec ] || exit 5
if ! [ -f $pidfile ]; then
printf "Starting $prog... \n"
echo "$(date)" >> $log_timestamp_file
cd $exec_path
`$exec`
retval=$?
pid=$!
cd -
echo $pid > $pidfile
if [ $retval -eq 0 ]; then
success
else
failure
echo
fi
exit $retval
else
failure
echo
printf "$pidfile still exists...\n"
exit 7
fi
}
stop() {
echo -n $"Stopping $prog... \n"
if [ -f $pidfile ]; then
kill $(cat $pidfile) && rm -f $pidfile
retval=$?
echo
return $retval
fi
return 0
}
restart() {
stop
start
}
case "$1" in
start)
$1
;;
stop)
$1
;;
restart)
$1
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 2
esac
exit $?