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

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

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

这个文件暂且命名为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

相关文章:

  • Kaamel隐私与安全分析报告:Apple Intelligence隐私保护机制
  • 使用Hypre BoomerAMG求解大规模泊松方程示例
  • 图像预处理-图像噪点消除
  • 星智CASE|拆解行业工具类智能体搭建方法论!
  • 12.FFN基于位置的前馈网络
  • 中华传承-医山命相卜-易经
  • Linux MySQL版本升级(rpm安装方式)
  • 嵌入式开发--STM32G4系列硬件CRC支持MODBUS和CRC32
  • mybatisFlex各种链式sql写法
  • 深度比较Gemini 2.5两款最新模型差异
  • Python基础知识语法归纳总结(数据类型-1)
  • python_level1.2
  • Android模块编译无法找到依赖(shared_libs)
  • 【Vue3代理机制详解:从原理到实践】
  • LeadeRobot具身智能应用标杆:无人机X柔韧具身智能,空中精准作业游刃有余
  • 6. 实战(二):用Spring AI+OpenAI构建企业级智能客服
  • STM32学习2
  • 自学新标日第十九课复习版本
  • 驱动移植【简略版】
  • Vue3中provide和inject的用法示例
  • 中办、国办印发《农村基层干部廉洁履行职责规定》
  • 长三角主流媒体将走进“来电”宜昌,探寻高质量发展密码
  • 人民日报和音:书写周边命运共同体建设新篇章
  • “站在亚洲实现整体振兴的新起点上”——习近平主席对越南、马来西亚、柬埔寨进行国事访问纪实
  • 女子伸腿阻止高铁关门等待同行人员,相关部门已介入调查
  • 生于1984年,郭宝任湖北黄石市副市长