当前位置: 首页 > backend >正文

服务器的算力已经被被人占用了,我如何能“无缝衔接”?

        今天遇到一个问题,服务器已经被别人占用了,我又不知道什么时候他能结束,因此很难去训练自己的模型,隔一会去看看别人是否结束又太麻烦,于是便可以写这个脚本文件来自动检测服务器是否空闲,一有空闲就可以自动运行自己的模型文件。

这个文件暂且命名为run_after.sh,内容如下:

而你需要提前做的:

1.获取现在正在运行的进程(也就是别人的进程),这是你需要监控的进程,比如例子中的进程号就是PID=78933 (如何获取呢,通过nvitop命令即可查看)   

2.   写一个run_after.sh文件

cat > run_after.sh << 'EOF'
#!/bin/bash# 监控进程ID
PID=78993echo "监控进程 $PID (train_cdsc.py), 等待它结束..."# 循环检查进程是否存在
while ps -p $PID > /dev/null; doecho "进程还在运行,等待30秒..."sleep 30
doneecho "进程已结束!立即启动你的代码..."# 执行你的代码
cd /my_projects
python Cursor_demo.py echo "你的代码已执行完成!"
EOFchmod +x run_after.sh

在此之后,你需要让脚本在后台自己运行(这样你可以退出终端)

nohup ./run_after.sh > run_log.txt 2>&1 &

你可以随时检查脚本的执行情况:

# 查看脚本是否仍在运行
ps aux | grep run_after.sh# 查看日志文件内容
tail -f run_log.txt

当目标进程(PID 78993)完成后,你的脚本会自动开始执行Cursor_demo.py,所有输出都会记录到run_log.txt中。

现在可以安全地退出SSH会话,脚本会继续在后台运行。要检查脚本是否正在运行,尝试:

ps aux | grep run_after

还可以查看nohup输出文件来了解脚本的执行情况:

tail -f run_log.txt

要确认任务是否成功设置为等待执行,可以查看这些命令的输出:

# 查看所有后台任务
jobs# 检查您之前启动的进程ID (31266)
ps aux | grep 31266

http://www.xdnf.cn/news/114.html

相关文章:

  • MATLAB - 小车倒立摆的非线性模型预测控制(NMPC)
  • SAP案例:珠海汉胜科技SAP S/4 HANA智能制造实践与价值实现
  • 3.Chromium指纹浏览器开发教程之chromium119版本源码拉取
  • 4.18---缓存相关问题(操作原子性,击穿,穿透,雪崩,redis优势)
  • 第五届能源工程、新能源材料与器件国际学术会议(NEMD 2025)
  • 数据结构中的宝藏秘籍之广义表
  • Web三漏洞学习(其三:rce漏洞)
  • 【MySQL】表的操作
  • PyTorch分布式训练调试方法(跟踪调用过程)
  • 每日算法【双指针算法】(Day 2-复写零)
  • 社交媒体时代的隐私忧虑:聚焦Facebook
  • ios精灵脚本辅助软件,有根和无根roothide越狱区别
  • iOS Google登录
  • 【生态系统模型】Biome-BGC生态系统模型与Python融合技术实践应用
  • iOS Facebook 登录
  • 2025年03月中国电子学会青少年软件编程(Python)等级考试试卷(四级)答案 + 解析
  • 基于大模型的腹股沟疝诊疗全流程风险预测与方案制定研究报告
  • 【vLLM 学习】Aqlm 示例
  • 网页端调用本地应用打开本地文件(PDF、Word、excel、PPT)
  • day31和day32图像处理OpenCV
  • 数据通信学习笔记之OSPF配置命令
  • 大数据应用开发——大数据平台集群部署
  • 数据结构——二叉树
  • GB28181的SIP注册与PS推流学习
  • 常用绑定事件方式有哪几种
  • Spring AI与通义千问的完美结合:构建智能对话应用
  • 【OSG学习笔记】Day 3: 加载你的第一个3D模型
  • C++每日训练 Day 16:构建 GUI 响应式信号机制(面向初学者)
  • Linux 文件传输:系统数据交互的动脉
  • 【Leetcode 每日一题 - 补卡】2537. 统计好子数组的数目