Tmux中R脚本无法多线程运行及SSH断开后进程终止的问题求助
Tmux中R脚本无法多线程运行及SSH断开后进程终止的问题求助
大家好,我最近在Ubuntu服务器上跑R脚本遇到了两个棘手的问题,想请教下社区的朋友们:
我的使用场景
我通过SSH连接到一台Ubuntu服务器,打算同时运行多个R脚本。为了方便管理每个脚本的运行进程,我计划用tmux给每个脚本单独创建一个会话来执行。
遇到的具体问题
- 多线程失效:我的R脚本里明确指定了使用4个核心(借助Stan库给每个核心分配一条马尔可夫链),但在tmux会话里运行时,用
htop查看资源占用情况,发现只有一个核心处于满负荷工作状态,其他几个核心几乎是闲置的。但如果我直接在SSH的主shell窗口里运行这个脚本,就能正常占用4个核心,完全符合预期。 - SSH断开后进程终止:另外,我明明按照正确的操作从tmux会话中detach出来了,但只要退出SSH连接,正在运行的脚本就会直接停止,根本没法在后台持续运行。
我的疑问
- 有没有办法让tmux里的R脚本正常启用多线程?
- 如果有其他能让服务器上的代码在我断开SSH后继续稳定运行的方法,也欢迎大家分享!
备注:内容来源于stack exchange,提问作者Marcello Zago




