shell 脚本启动程序

shell 脚本启动程序。将以下内容保存到 start.sh 文件,其中 echo_test.sh 修改为目标脚本名称。 `.start.sh` 启动脚本时,会判断是否有对应服务正在运行,未运行则直接运行,正在运行则给出选项是

将以下内容保存到 start.sh 文件,其中 echo_test.sh 修改为目标脚本名称。

.start.sh 启动脚本时,会判断是否有对应服务正在运行,未运行则直接运行,正在运行则给出选项是否重启。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# !/bin/bash
# echo "判断进程是否在运行"
# echo "请输入进程信息:"
# read process_name

# 读取进程 id;根据进程 id 查询进程;获取进程那一行内容(去除表头);读取第一个字段(默认空格和 tab 分割)
process_id=`cat output.pid`
ps_process_id=`cat output.pid | ps -a | grep $process_id | awk '{printf $1}'`

# echo $ps_process_id

# if 中的变量用双引号括起来
if [[ -n "$ps_process_id" ]];then 
    read -p "$ps_process_id 正在运行!是否重启该程序(yes/no)" is_restart
    if [[ "$is_restart" = "yes" ]]; then
        kill $ps_process_id
        nohup ./echo_test.sh &
        echo "进程 $! 后台运行!"
    echo $! > ./output.pid
    fi
else 
    echo "$process_id 未运行!"
    # echo $process_name
    nohup ./echo_test.sh &
    echo "进程 $! 后台运行!"
    echo $! > ./output.pid
fi
Licensed under CC BY-NC-SA 4.0
Gear(夕照)的博客。记录开发、生活,以及一些不足为道的思考……