shell之最常用的服务脚本

任务需求:以最简单的方式管理 /usr/local/php7/sbin/php-fpm -c /usr/local/php7/etc/php.ini 这条命令 包括启动停止重启

使用技术:shell脚本 chkconfig服务管理

实现流程:

1.在 /etc/init.d 目录下创建shell脚本

vim /etc/init.d/php-fpm

2.写入脚本(写在博客上就手动添加了很多注释 非常全面  所有中文注释行删除掉才是脚本内容)

#!/bin/bash
#指定运行shell

# chkconfig: - 85 15
#指定运行级别 -代表默认2345 85和15代表启动优先权和关闭优先权 值越小越优先

# processname:php-fpm
#指定服务名称

#定义变量
phpfpm=/usr/local/php7/sbin/php-fpm
phpini=/usr/local/php7/etc/php.ini
fpmpid=$(ps -ef | grep php-fpm | grep -v 'color' | grep -v 'pts' | awk '{print $2}')
#抓取php-fpm进程 排除带有color的行和带有pts的行 再进行抓取第二列  获取出来的是多列pid号

start(){
  if [ -z "$fpmpid" ]; then
  #如果fpmpid是空  如果判断非空用 -n
  
  $phpfpm -c $phpini
  #那么就运行这条命令: /usr/local/php7/sbin/php-fpm -c /usr/local/php7/etc/php.ini
  
  fi
  echo 'php-fpm starting...'
}

stop(){
  if [ -z "$fpmpid" ]; then
  #如果fpmpid是空 则退出脚本
    exit 1
  fi
  kill -9 $fpmpid
  echo 'php-fpm stop....'
}

restart(){
  stop
  start
  echo 'php-fpm restart....'
}

status(){
  ps -ef | grep -v 'color' | grep -v 'pts' | grep 'php-fpm'
  #查看状态打印出php-fpm的运行进程
}

#判断参数值 根据不同的参数值走不同分支 执行相应的函数
case "$1" in
start)
  start
  ;;
stop)
  stop
  ;;
restart)
  stop
start ;; status) status ;; esac

3.给执行权限

chmod +x /etc/init.d/php-fpm

4.加入服务

chkconfig --add php-fpm

5.最终操作

service php-fpm start
service php-fpm status
service php-fpm restart
service php-fpm stop
原文地址:https://www.cnblogs.com/fengyumeng/p/8048077.html