linux下为程序创建启动和关闭的的sh文件,scrapyd为例
2012-12-03 20:40
363 查看
对于一些未提供service管理的程序 每次启动和关闭都要加上全部路径,想到可以做一个简单的启动和关闭控制的文件
下面以scrapy启动server为例,文件名为run.sh:
Python代码
#端口号,根据此端口号确定PID
PORT=6800
#启动命令所在目录
HOME='/home/jmscra/scrapy/'
#查询出监听了PORT端口TCP协议的程序
pid=`netstat -lnopt | grep :$PORT | awk '/python/{gsub(/\/python/,"",$7);print $7;}'`
start(){
if [ -n "$pid" ]; then
echo "server already start,pid:$pid"
return 0
fi
#进入命令所在目录
cd $HOME
nohup scrapy server & #启动scrpayd服务器 把日志输出到HOME目录的nohup.out文件中
echo "start at port:$PORT"
}
stop(){
if [ -z "$pid" ]; then
echo "not find program on port:$PORT"
return 0
fi
#结束程序,使用讯号2,如果不行可以尝试讯号9强制结束
kill -2 $pid
echo "kill program use signal 2,pid:$pid"
}
status(){
if [ -z "$pid" ]; then
echo "not find program on port:$PORT"
else
echo "program is running,pid:$pid"
fi
}
case $1 in
start)
start
;;
stop)
stop
;;
status)
status
;;
*)
echo "Usage: {start|stop|status}"
;;
esac
exit 0
使用时则可以
/path/run.sh start启动
/path/run.sh stop停止
/path/run.sh status 查看运行程序的pid
不要忘记为run.sh添加可执行权限
下面以scrapy启动server为例,文件名为run.sh:
Python代码
#端口号,根据此端口号确定PID
PORT=6800
#启动命令所在目录
HOME='/home/jmscra/scrapy/'
#查询出监听了PORT端口TCP协议的程序
pid=`netstat -lnopt | grep :$PORT | awk '/python/{gsub(/\/python/,"",$7);print $7;}'`
start(){
if [ -n "$pid" ]; then
echo "server already start,pid:$pid"
return 0
fi
#进入命令所在目录
cd $HOME
nohup scrapy server & #启动scrpayd服务器 把日志输出到HOME目录的nohup.out文件中
echo "start at port:$PORT"
}
stop(){
if [ -z "$pid" ]; then
echo "not find program on port:$PORT"
return 0
fi
#结束程序,使用讯号2,如果不行可以尝试讯号9强制结束
kill -2 $pid
echo "kill program use signal 2,pid:$pid"
}
status(){
if [ -z "$pid" ]; then
echo "not find program on port:$PORT"
else
echo "program is running,pid:$pid"
fi
}
case $1 in
start)
start
;;
stop)
stop
;;
status)
status
;;
*)
echo "Usage: {start|stop|status}"
;;
esac
exit 0
使用时则可以
/path/run.sh start启动
/path/run.sh stop停止
/path/run.sh status 查看运行程序的pid
不要忘记为run.sh添加可执行权限
相关文章推荐
- linux下为程序创建启动和关闭的的sh文件,scrapyd为例
- linux下通过.sh文件启动java程序
- linux下怎么通过.sh文件启动java程序
- Linux下通过java程序启动sh文件
- linux下通过.sh文件启动java程序
- 深入理解linux下rc.d/目录文件以及程序开机自启动
- 〖Linux〗以后台方式启动/结束指定程序/命令(不受 exit 或点击窗口关闭按钮等终端退出操作的影响)
- [Linux]在终端启动程序关闭终端不退出的方法
- Java在linux上只能在程序的当前目录下创建文件/文件夹导致的问题
- 详解Linux系统中Oracle数据库程序的启动和关闭方式
- [Linux]在终端启动程序关闭终端不退出的方法
- 深入理解linux下rc.d/目录文件以及程序开机自启动
- Linux下通过.desktop 文件创建桌面程序图标及文件编写方式(Desktop Entry文件概述)
- ubuntu 下为何没有/etc/inittab文件linux下程序的启动流程
- oracle快速启动关闭sh程序
- Linux下开机启动sh文件
- linux下touch的运用以及在linux下创建可运行的.sh文件
- linux下java程序异常关闭,自动启动做法
- (转)linux用文件锁实现保证一个程序只能启动一个进程
- linux下文件的创建,打开与关闭