java - 进程在 Linux 中通过 putty 的 ssh 连接被杀死

标签 java linux

我有一个 java 程序需要在其他机器上通过 ssh 编译和运行。该程序占用不到 512MB

但是当我在 linux 上运行这个程序时(通过 ssh 连接),我的进程被终止了。

一旦从这些值计算出结果,程序将按以下方式释放内存:\

setSparseMatrix(new SparseMatrix(n))

我认为 java 垃圾收集器可以自动重新获得此内存,因为不存在指向该旧矩阵的指针。

附加信息:

我在 eclipse 中测试了这个程序,它可以在内存为 512 MB 的 pc 上轻松运行。

还有一件事它有时有效,有时无效。\

那么谁能告诉我如何才能看到我的程序被杀死的原因?

最佳答案

当您从 putty 断开 SSH 连接时,您的进程可能会被终止。

您应该使用 nohup 运行您的 Java 进程命令。

所以类似于:nohup java <the rest of your command line> &将确保当您的 SSH 命令终止并且终端向其发送 SIG-HUP 和 & 时,您的进程不会挂起并终止。使其在后台运行。

您可能希望将程序的标准输出通过管道传输到某个日志文件,以防您想检查其输出是什么。

关于java - 进程在 Linux 中通过 putty 的 ssh 连接被杀死,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53355936/

相关文章:

java - Hyperledger Java SDK 客户端事件监听器

java - 使用Java应用程序录制时录制音频样本的时间戳

java - 如何在 Linux 中找到由 Java 进程创建的前 10 个或前几个 CPU 密集型线程?

mysql - 'ED_UNASSIGNED' 在从源代码安装 mysql 期间未声明

c++ - 捕获HID键盘事件

Java - 在正则表达式中转义元字符 [ 和 ]

java - Spring批处理远程分块和远程分区之间的区别

linux - Linux C++ IDE 中的解决方案文件相当于什么

java - 如何避免 java.net.BindException : Address already in use

linux - 无法 telnet kube-proxy 公开的 localhost 端口