vscode在服务器上用tmux跑代码

avatar
作者
筋斗云
阅读量:1

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博客

tmux使用详解(将程序放到后台远程主机,断电不断线)-CSDN博客

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!