分享一个删除ubuntu上指定服务的脚本


#!/bin/bash

# 提示用户输入服务名称
echo "请输入服务名称:"
read SERVICE_NAME

# 检查输入是否为空
if [ -z "$SERVICE_NAME" ]; then
  echo "服务名称不能为空!"
  exit 1
fi

# 停止服务
echo "尝试停止服务: $SERVICE_NAME"
sudo systemctl stop "$SERVICE_NAME" || echo "服务未运行或无法停止。"

# 禁用服务
echo "尝试禁用服务: $SERVICE_NAME"
sudo systemctl disable "$SERVICE_NAME" || echo "服务未启用或无法禁用。"

# 删除服务文件
SERVICE_FILE=$(sudo systemctl status "$SERVICE_NAME" 2>/dev/null | grep 'Loaded:' | awk '{print $3}' | tr -d '()')

if [ -n "$SERVICE_FILE" ] && [ -f "$SERVICE_FILE" ]; then
  echo "找到服务文件: $SERVICE_FILE,正在删除..."
  sudo rm "$SERVICE_FILE"
  echo "服务文件已删除。"
else
  echo "未找到服务文件,可能服务已删除或不存在。"
fi

# 重新加载 systemd 配置
echo "重新加载 systemd 配置..."
sudo systemctl daemon-reload

# 清除失败的服务状态(如果有)
echo "清除服务失败状态(如果有): $SERVICE_NAME"
sudo systemctl reset-failed "$SERVICE_NAME"

echo "服务 $SERVICE_NAME 删除完成。"

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

27 − 24 =