startBrower.sh 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #!/bin/bash
  2. # test with sudo runuser -u root bash {script_path}
  3. set -x
  4. name=$(whoami)
  5. echo "start $0 with $name"
  6. exec="/usr/share/browser/browser" # 使用传入的参数值作为要执行的命令
  7. echo "run $exec"
  8. #!/bin/bash
  9. declare -A params # 关联数组存储参数
  10. for arg in "$@"; do
  11. if [[ "$arg" =~ ^--vtm_browser_type=(.*)$ ]]; then
  12. vtm_browser_type="${BASH_REMATCH[1]}"
  13. echo "浏览器类型: $vtm_browser_type"
  14. break # 找到后退出循环
  15. fi
  16. done
  17. if [[ -z "$vtm_browser_type" ]]; then
  18. echo "未指定浏览器类型"
  19. fi
  20. GROUP_NAME=${vtm_browser_type:-default_browser}
  21. # get env
  22. pid=$(pgrep startdde)
  23. # source env from $pid
  24. # shellcheck disable=SC1090
  25. . <(xargs -0 bash -c 'printf "export %q\n" "$@"' -- </proc/$pid/environ)
  26. name=$(ps -o uname= -p "${pid}")
  27. echo "run in $name"
  28. FILE="/tmp/$GROUP_NAME.pgid"
  29. rm -f "$FILE" # 强制删除文件(忽略不存在的情况)
  30. touch "$FILE" # 创建新文件
  31. chmod 666 "$FILE" # 可选:设置权限
  32. if [ $# -eq 0 ]
  33. then
  34. runuser -u $name -- bash -c "setsid $exec & sudo echo \$! > /tmp/$GROUP_NAME.pgid"
  35. else
  36. runuser -u $name -- bash -c "setsid $exec $* & sudo echo \$! > /tmp/$GROUP_NAME.pgid"
  37. fi
  38. PGID=$(cat /tmp/$GROUP_NAME.pgid)
  39. echo "UOS Browser 已启动:"
  40. echo "PGID: $PGID"
  41. exit $?