123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #!/bin/bash
- # 检查是否提供了进程组名称参数
- if [ $# -eq 0 ]; then
- echo "错误:请提供进程组名称作为参数,例如:./stop_browser.sh my-group"
- exit 1
- fi
- for arg in "$@"; do
- if [[ "$arg" =~ ^--vtm_browser_type=(.*)$ ]]; then
- vtm_browser_type="${BASH_REMATCH[1]}"
- echo "浏览器类型: $vtm_browser_type"
- break # 找到后退出循环
- fi
- done
- if [[ -z "$vtm_browser_type" ]]; then
- echo "未指定浏览器类型"
- fi
- GROUP_NAME=$vtm_browser_type
- # 通过 PGID 关闭(推荐)
- if [ -f /tmp/$GROUP_NAME.pgid ]; then
- PGID=$(cat /tmp/$GROUP_NAME.pgid)
- kill -15 -$PGID 2>/dev/null # 终止整个进程组
- sleep 1
- if ps -o pgid= | grep -q $PGID; then
- kill -9 -$PGID
- fi
- rm -rf /tmp/$GROUP_NAME.pgid
- fi
- # 清理 cgroup(如果存在)
- if command -v cgdelete &> /dev/null; then
- sudo cgdelete cpu,memory:"$GROUP_NAME" 2>/dev/null
- fi
- echo "UOS Browser 已终止"
- exit $?
|