您的位置:首页 > 运维架构 > Shell

通过shell脚本构建某服务 start/stop/restart 命令

2018-02-01 20:01 501 查看
 对于某些常用操作可以通过 shell 脚本构建成为一个命令,通过传入不同的参数实现不同的操作。以下以 python 构建的 web 服务器的 start/stop/restart 命令为例创建 shell 脚本。

1. 创建空白文件,命名为 server

2. 将 sh 脚本写入文件

#!/bin/bash

App="~/Application/Application.py"

echo $1
echo $App

function killProsess() {
NAME=$1
echo $NAME

// 获取进程 PID
PID=$(ps -e | grep $NAME | awk '{print $1}')

echo "PID: $PID"
// 杀死进程
kill -9 $PID
}

function start() {
echo "start"
echo "----------------"
mypython $App
}

function stop() {
echo "stop"
echo "----------------"
killProsess "mypython"
}

function restart() {
echo "restart"
echo "----------------"
stop
start
}

case "$1" in
start )
echo "****************"
start
echo "****************"
;;
stop )
echo "****************"
stop
echo "****************"
;;
restart )
echo "****************"
restart
echo "****************"
;;
* )
echo "****************"
echo "no command"
echo "****************"
;;
esac

3. 修改 server 文件的权限为可执行

chmod +x server

4. 将 server 文件移动到系统环境路径下,或将 server 文件所在路径添加到系统环境
5. 通过命令行执行相应命令

// web 服务器启动
server start &

// web 服务器停止
server stop

// web 服务器重启
server restart &

 注: 1.

server start &,& 表示开启的进程为后台进程,关闭 terminal 之后开启的进程不会被关闭。

2.
shell 脚本中的 mypython 为 python2.7 的软链接。
请参考《Linux/macOS 
为程序创建自定义进程名的进程 [以 python 为例]》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell Linux macOS python