vscode远程ssh连接服务器,在服务器上跑时间较长深度学习代码,即使电脑关机,ssh断了,服务器那边代码程序也可以继续运行
在 SSH 中,当连接到远程服务器时,通常会在服务器上打开一个终端,允许在远程服务器上执行命令和操作,这个终端实际上是远程服务器上的一个虚拟终端,允许你与服务器进行交互,ssh断了这个终端也会关闭
服务器端安装tmux
vscode远程连接后,新建终端,该终端实在ssh远程连接会话下的,ssh断了这个终端下运行的进程都就没了
sudo apt-get install tmux
新建一个tmux终端
tmux new -s session_name
//tmux new -s try_tmux
创建后会自动进入该tmux session下面
准备测试程序
每五秒把当前时间写入output.txt,用来一会测试tmux起作用没
#include <iostream>
#include <fstream>
#include <chrono>
#include <ctime>
#include <thread>
int main() {
// 打开文件
std::ofstream outputFile("output.txt", std::ios::app);
// 循环每五秒写入当前时间
while (true) {
// 获取当前时间
auto now = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now());
std::string currentTime = std::ctime(&now);
// 写入当前时间到文件
outputFile << currentTime;
// 刷新缓冲区并等待五秒钟
outputFile.flush();
std::this_thread::sleep_for(std::chrono::seconds(5));
}
// 关闭文件
outputFile.close();
return 0;
}
在tmux终端下运行该程序
程序运行中,先按下ctrl+b,然后再单独按d,把这个终端和ssh会话分离,tmux终端自己玩
回到了ssh会话这个终端下下
列出创建的tmux进程
tmux list-sessions
若想回到刚才创建的会话
tmux a -t session_name
断掉远程连接,等一会,再连服务器,查看output.txt,显示持续打印时间即成功
可以创建多个tmux,来回切换
先按ctrl+b ,再按s,然后就可以在会话间选择其中一个,按enter进入。
记得手动删除会话
tmux kill-session -t session_name
tmux用法:MobaXterm SSH断开后,服务器程序仍在执行_mobaxterm tmux-CSDN博客文章来源:https://www.toymoban.com/news/detail-861330.html
tmux使用详解(将程序放到后台远程主机,断电不断线)-CSDN博客文章来源地址https://www.toymoban.com/news/detail-861330.html
到了这里,关于vscode在服务器上用tmux跑代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!