通过java运行的已执行程序似乎超时了?

通过java运行的已执行程序似乎超时了?,java,linux,runtime,centos,runtime.exec,Java,Linux,Runtime,Centos,Runtime.exec,我有一个IRC机器人,它接受用户的命令来托管特定的游戏服务器。然而,在服务器启动大约半小时到一小时后,服务器就会冻结。服务器使用Java的运行时执行命令运行 在用户手动终止服务器之前,是否有办法保持服务器正常运行 如果重要的话,操作系统是CentOS 664位 下面是传递给Java运行时Execute的字符串命令示例: 编辑:我不确定进程是否挂起或崩溃,因为我没有检查。我已再次运行服务器,一旦发现,将进行检查 谢谢大家! 只是猜测。。确保您一直从java进程读取服务器的输出,或者将其重定向到某个

我有一个IRC机器人,它接受用户的命令来托管特定的游戏服务器。然而,在服务器启动大约半小时到一小时后,服务器就会冻结。服务器使用Java的运行时执行命令运行

在用户手动终止服务器之前,是否有办法保持服务器正常运行

如果重要的话,操作系统是CentOS 664位

下面是传递给Java运行时Execute的字符串命令示例:

编辑:我不确定进程是否挂起或崩溃,因为我没有检查。我已再次运行服务器,一旦发现,将进行检查


谢谢大家!

只是猜测。。确保您一直从java进程读取服务器的输出,或者将其重定向到某个地方。否则,当它在stdout或err中打印某些内容时,它将被阻止。我想如果我想要有多个服务器,我必须将其输出到一个文件,而不是使用System.out.println()。嗯,当您执行运行时exec时,它将返回一个进程,我认为它将为stdout和err提供一个get方法。您需要不断阅读这些内容,以确保缓冲区清空。如果这不能解决问题,或者不能为您提供足够的信息来解决问题,请发布一篇文章。事实上,我们只能猜测它失败的原因,我个人不喜欢猜测。