如何在 linux 后端上 运行 snakemake 而没有在 putty 中输出?

How to run snakemake on linux backend without output in putty?

我尝试通过以下命令运行所有规则:

touch scripts/*.py
snakemake --cores <YOUR NUMBER>

问题是我的本地网络连接不稳定,我可以通过putty提交命令到linux计算平台,而似乎总是有输出returns返回给putty界面。所以当我的本地网络连接中断时,代码运行ning也中断了。

有什么方法可以让 linux 后端的代码只 运行 吗?然后最终可以将输出写入日志文件。

这可能是一个非常基本的问题。

这是一个普遍的问题(不仅仅是snakemake),而且有几种选择,至少有以下几种:

  • 使用可以跨多个连接持续存在的程序:流行的选项是 screentmux。工作流程如下所示:登录到服务器,启动 screentmux,进入程序后启动您想要 运行 的代码,注销,下次登录到服务器,您可以重新连接到先前的会话并观察同时完成的计算。我推荐tmux,看这个tmux tutorial

  • 使用 nohup,这会在后台启动计算,如果您断开连接,它将在服务器上继续 运行ning:

    nohup snakemake --cores <YOUR NUMBER>
    

    请注意,使用此选项,如果您想查看计算进度,则需要查看 .snakemake 文件夹中的相应 .log