如何在关闭命令提示符或PuTTY后使Julia继续运行

4
我正在AWS机器(Linux)上运行一个大型的Julia仿真。我使用PuTTY从命令行运行。
我输入:julia myscript.jl 然而,每当我关闭命令提示符、PuTTY或我的笔记本电脑时,AWS服务器上的运行将停止。我想知道是否有一种方法可以在关闭命令行提示符时保持Julia运行。因为我不想让我的笔记本电脑开着并保持连接状态数天。
谢谢。

3
使用nohup julia myscript.jl &命令。 - FoggyDay
1
你可以在“screen”中运行该命令。有关更多详细信息,请参阅此URL:https://www.geeksforgeeks.org/screen-command-in-linux-with-examples/ - Nitish
2
我想在这个方案中加入tmux。根据您的情况,SystemD服务也是一个好的解决方案。 - Marged
这个问题已经被问了无数次。例如:如何在ssh注销后使程序继续运行? 此外,这样的问题实际上是[so]不适合讨论的话题。 - Martin Prikryl
@Ben - 不客气 :) - FoggyDay
1个回答

1

dtach可用于此目的。即使创建进程的终端会话关闭,它也可以保持进程运行。

通过ssh登录后,启动新的dtach会话:

$ dtach -A /tmp/my-dtach-session julia myscript.jl

然后使用ctrl+\从会话中分离。

分离不会终止您的进程。在此,我检查它在分离后仍在运行:

[david@blue ~] $ ps aux | grep dtach                                       
david      506  0.0  0.0   8460  1484 ?        Ss   16:15   0:00 dtach -A /tmp/my-dtach-session ./pkg/julia-1.3.0/bin/julia
david      517  0.0  0.0   6140  2224 pts/2    S+   16:16   0:00 grep dtach

当你分离后,可以像平常一样关闭ssh会话。如果你的进程没有完成,你可以重新登录并重新附加:

$ dtach -a /tmp/my-dtach-session 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接