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