欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > 服务器的算力已经被被人占用了,我如何能“无缝衔接”?

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

2025/4/19 13:26:26 来源:https://blog.csdn.net/aaaax__/article/details/147339789  浏览:    关键词:服务器的算力已经被被人占用了,我如何能“无缝衔接”?

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

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词