按照项目需求,我们需要把所有服务以指定用户名运行,百度了很多文章包括google也没找到答案,经过多次测试,终于成功。下面是我写了一个例子(注意bash -c后面的命令不能过长):
#!/bin/bash
description: activemq Start Stop Restart
processname: activemq
chkconfig: 234 20 80
#ulimit -Hn 4096
#ulimit -Sn 4096
JAVA_HOME=/usr/java/jdk1.7.0_25
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
CATALINA_HOME=/usr/local/apache-activemq-5.5.1
case $1 in
start)
cd $CATALINA_HOME/bin
#./activemq start
sudo -H -u amp bash -c './activemq start'
;;
stop)
cd $CATALINA_HOME/bin
#./activemq stop
sudo -H -u amp bash -c './activemq stop'
;;
restart)
#cd $CATALINA_HOME/bin
#./activemq stop
#./activemq start
udo -H -u amp bash -c '$CATALINA_HOME/bin/activemq stop'
sudo -H -u amp bash -c '$CATALINA_HOME/bin/activemq start'
;;
esac
exit 0