代码拉取完成,页面将自动刷新
#!/bin/bash
PROGRAM_NAME="gpu-warning.py"
SCRIPT_B_NAME="gpu_monitor.sh"
script_dir=$(dirname "$(readlink -f "$0")")
GROUP_NAME=$1
# 检查参数数量
#
if [ $# -lt 1 ]; then
echo "参数不足!请输入所属组 ,可选项 NLPL NLPH CV"
echo "用法: $0 <参数>"
exit 1
fi
case "$GROUP_NAME" in
*NLPL*|*NLPH*|*CV*)
echo "变量包含指定字符串,继续执行"
# 在这里继续执行你的代码
echo "$GROUP_NAME" > ${script_dir}"/"temp.txt
;;
*)
echo "变量不包含(NLPL NLPH CV),退出程序"
exit 1
;;
esac
# 检查是否安装了指定的Python包
check_package() {
package_name=$1
python3 -c "import pkgutil; exit(0 if pkgutil.find_loader('$package_name') else 1)" >/dev/null 2>&1
if [ $? -eq 0 ]; then
echo "Python包 $package_name 已安装"
return 0
else
echo "Python包 $package_name 未安装"
return 1
fi
}
# 要检查的Python包列表
packages=("requests" "subprocess" "json")
# 循环检查每个包
for package in "${packages[@]}"; do
check_package "$package"
if [ $? -ne 0 ]; then
echo "缺少必要的Python包,无法继续执行"
exit 1
fi
done
# 在这里继续执行你的代码
echo "所有必要的Python包已安装,继续执行"
HOST_NAME=$(hostname)
# 判断主机名中是否包含"master"字符
if [[ $HOST_NAME == *"master"* ]]; then
echo "主机名包含'master'字符,是master节点,继续执行监控任务"
# 在这里添加继续执行的命令
while true; do
# 检查Python程序是否在运行中
if ! pgrep -f "$PROGRAM_NAME"; then
echo "gpu-warning.py 程序已被kill,重新启动..."
python3 ${script_dir}"/""$PROGRAM_NAME" "$HOST_NAME" "$GROUP_NAME" 2>&1 &
fi
# 检查B脚本是否在运行中
if ! pgrep -f "$SCRIPT_B_NAME"; then
echo "gpu_monitro.sh 脚本已被kill,重新启动..."
bash ${script_dir}"/""$SCRIPT_B_NAME" 2>&1 &
fi
sleep 60
done
else
echo "主机名不包含'master'字符,退出监控程序"
exit 1
fi
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。