每当我注销我的服务器时命令停止
Command stops whenever I log out of my server
我有一个 java 程序(基于文本的无 GUI),我已经编写并编译并上传到服务器。
我 运行 它与 java -cp myjar.jar mypackage.MyClass
启动它 运行 正在处理一个包含 20,000,000 多个条目的数据文件并将输出打印到 System.out
。我已经计算出处理数据需要很长时间,我不想让我的笔记本电脑在数字 c运行ching...
的 10 天内打开
然而,当我注销 shell 时,进程停止。
如何执行命令并在不停止的情况下注销?那叫什么?
我正在使用亚马逊 Ubuntu EC2 服务器。我使用来自 Mac OSX 的证书和终端登录。服务器似乎正在使用 bash shell.
希望有人能帮帮我!
杰森.
您可以使用nohup
nohup java -cp myjar.jar mypackage.MyClass > yourLogFile.log &
考虑使用 screen 而不是 nohup。它允许您创建一个即使在 logout/disconnect 之后仍然存在的虚拟终端。当您重新连接到服务器时,您可以立即跳转到上次打开的 screen
会话。
服务器上的典型工作流程:
- 键入
screen
(您可能需要按 space 才能离开介绍页面)
- 输入您要离开的命令 long-running(您的 java 程序,或 OS 升级)
- 按
ctrl a+d
离开屏幕(确保按住 ctrl)
到 re-enter 屏幕只需使用 screen -r
,您将看到之前的终端和您离开它时的所有 运行 程序。
我有一个 java 程序(基于文本的无 GUI),我已经编写并编译并上传到服务器。
我 运行 它与 java -cp myjar.jar mypackage.MyClass
启动它 运行 正在处理一个包含 20,000,000 多个条目的数据文件并将输出打印到 System.out
。我已经计算出处理数据需要很长时间,我不想让我的笔记本电脑在数字 c运行ching...
然而,当我注销 shell 时,进程停止。
如何执行命令并在不停止的情况下注销?那叫什么?
我正在使用亚马逊 Ubuntu EC2 服务器。我使用来自 Mac OSX 的证书和终端登录。服务器似乎正在使用 bash shell.
希望有人能帮帮我! 杰森.
您可以使用nohup
nohup java -cp myjar.jar mypackage.MyClass > yourLogFile.log &
考虑使用 screen 而不是 nohup。它允许您创建一个即使在 logout/disconnect 之后仍然存在的虚拟终端。当您重新连接到服务器时,您可以立即跳转到上次打开的 screen
会话。
服务器上的典型工作流程:
- 键入
screen
(您可能需要按 space 才能离开介绍页面) - 输入您要离开的命令 long-running(您的 java 程序,或 OS 升级)
- 按
ctrl a+d
离开屏幕(确保按住 ctrl)
到 re-enter 屏幕只需使用 screen -r
,您将看到之前的终端和您离开它时的所有 运行 程序。