Linux下将普通软件启动方式做成service方式
2013-03-05 19:35
246 查看
以这次安装的openmeeting为例:
目录结构:/root/openmeeting_dirnary/admin.bat
admin.sh
...
red5.sh
red5-shutdown.bat
red5-shutdown.sh
...
如果要启动它我们普通的方式都是进入这个/root/openmeeting_dirnary/这个目录,
执行:./red5.sh & (当然要有执行权限)
现在我们要做的工作就是:
将它的启动、关闭等方式做成service ..... stop|start|restart|status|restart的方式
cd /etc/init.d/
touch openmeetingd (我们自己起的名字,仿照一般的服务,比如httpd....)
贴出该文件的代码,然后再细细解释:
接下来我们重点讲解stop的时候执行的脚本:
pid = `ps -ef | grep "java" | grep -v "grep" | awk '{print $2}'` 来获得进程的pid
执行ps -ef | grep "java" 的效果图:
这句主要是找出red5的运行进程,这里是java,我们还可以看到第二个进程即我们刚刚执行的 grep java ,
为了只获得上面那一行的进行,即执行:
ps -ef | grep "java" | grep -v "grep"
到这里可以看到,只剩下一行了,就是我们想要的red5生存的标识
grep 的这个 -v 的参数的意思是:显示不包含文本的所有行,就把刚才的第二行去掉了。
执行:ps -ef | grep "java" | grep -v "grep" | awk '{print $2}'
可以看到现在只剩下一个数字了,即pid,就是我们想要得到的最终值。
好了,接下来直接kill掉就可以了,有点暴力吧。。。
目录结构:/root/openmeeting_dirnary/admin.bat
admin.sh
...
red5.sh
red5-shutdown.bat
red5-shutdown.sh
...
如果要启动它我们普通的方式都是进入这个/root/openmeeting_dirnary/这个目录,
执行:./red5.sh & (当然要有执行权限)
现在我们要做的工作就是:
将它的启动、关闭等方式做成service ..... stop|start|restart|status|restart的方式
cd /etc/init.d/
touch openmeetingd (我们自己起的名字,仿照一般的服务,比如httpd....)
贴出该文件的代码,然后再细细解释:
#start Red5 demon start(){ #这一步没什么好说的,就是进入到目录,改权限,启动... echo "starting red5 ..." cd /root/openmeeting_binary/ chmod 755 red5.sh ./red5.sh & echo "Red5 started successful ..." } #stop red5 demon stop(){ # 在下面详细讲解 pid=`ps -ef|grep "java"|grep -v "grep"|awk '{print $2}'` if [ "$pid" == "" ];then echo "No red5 pid alive ..." else echo "now , kill pid $pid ..." kill $pid echo "Red5 stopped successful ..." fi } #show the status of red5 status(){ #通过判断进程是否启动着,即pid是否存在为依据来判断状态 pid=`ps -ef | grep "java" | grep -v "grep" | awk '{print $2}'` if [ "$pid" == "" ];then echo "red5 is stopped ..." else echo "red5 is running ..." fi } #restart red5 demo restart(){ # 调用前面的函数,很简单吧... stop start } #execute by input command # 根据输入的命令来判断应该执行什么 case "$1" in start) start ;; stop) stop ;; status) status ;; restart) restart ;; *) echo $"Usage: $0 {start|stop|status|restart}" exit 1 esac |
pid = `ps -ef | grep "java" | grep -v "grep" | awk '{print $2}'` 来获得进程的pid
执行ps -ef | grep "java" 的效果图:
这句主要是找出red5的运行进程,这里是java,我们还可以看到第二个进程即我们刚刚执行的 grep java ,
为了只获得上面那一行的进行,即执行:
ps -ef | grep "java" | grep -v "grep"
到这里可以看到,只剩下一行了,就是我们想要的red5生存的标识
grep 的这个 -v 的参数的意思是:显示不包含文本的所有行,就把刚才的第二行去掉了。
执行:ps -ef | grep "java" | grep -v "grep" | awk '{print $2}'
可以看到现在只剩下一个数字了,即pid,就是我们想要得到的最终值。
好了,接下来直接kill掉就可以了,有点暴力吧。。。
相关文章推荐
- linux配置tomcat以service方式启动
- Tengine启动方式做成service方式
- 让普通用户具备sudo执行权限-修改linux默认启动方式
- 旺仔练习:service的普通方式和绑定方式的启动和停止(解绑出现异常,尚未解决)
- linux配置tomcat以service方式启动
- linux tomcat service 方式启动脚本
- linux配置tomcat以service方式启动(转)
- LINUX:linux服务器上配置tomcat以service方式启动
- Wildfly在Linux下以Service的方式启动 配置步骤
- linux tomcat service 方式启动脚本
- Service分类,生命周期,普通方式启动
- 旺仔练习:service的普通方式和绑定方式的启动和停止
- 如何为Android Studio 添加快速启动方式【Linux】
- Service的两种启动方式
- Android开发学习笔记:Service的简介和启动方式
- Linux安装软件方式介绍
- linux的软件安装大概有几种方式
- Linux添加service服务及开机启动
- Linux 下的三大软件安装方式
- Linux下chkconfig命令详解即添加服务以及两种方式启动关闭系统服务