
Bash
1 前言
一个问题,一篇文章,一出故事。
某些场景,我们使用简单的命令去停止或者启动服务,会遇到出错的情况,于是我们需要带自动检测功能的函数去执行服务的启动或停止。
2 最佳实践
2.1 创建脚本
vim ~/scripts/serviceControl.sh
加入如下设置,
#!/bin/bash stopService() { local serviceName=$1 if systemctl is-active --quiet "$serviceName"; then echo "Stopping $serviceName..." systemctl stop "$serviceName" while systemctl is-active --quiet "$serviceName"; do sleep 1 done echo "$serviceName has been stopped." else echo "$serviceName is not running." fi } startService() { local serviceName=$1 if ! systemctl is-active --quiet "$serviceName"; then echo "Starting $serviceName..." systemctl start "$serviceName" while ! systemctl is-active --quiet "$serviceName"; do sleep 1 done echo "$serviceName has been started." else echo "$serviceName is already running." fi } stopService "openvpn" startService "openvpn"
2.2 测试脚本
bash ~/scripts/serviceControl.sh
没有评论