2016-12-09 80 views
0

我正在Java中运行一个简单的多线程生产者/消费者框架来做一些处理。框架从一些文件读取数据,处理数据,并将一些结果写回到磁盘。Linux'屏幕'不会从磁盘读取

我的问题是这样的:因为(非常)在处理高内存占用,所有的处理必须分批进行以下方式的:

1 - 启动框架

2 - 待办事项处理

3 - 关闭框架

这些都是一个外壳脚本。为此,我打开一个屏幕,以便即使在我不在身边时,处理也可以继续,并启动shell脚本。但是,我所经历的是,如果我断开屏幕(CTRL-A + D),框架会抱怨突然找不到框架的java字节编译类。如果我不断开屏幕,这个问题会完全消失。

这真是令人沮丧,我不明白为什么。我已经多次重新安装了屏幕(基于Debian的系统),并且当我将代码/数据移动到其中并在那里处理时,我可以访问存在此问题的其他服务器。不幸的是,这些服务器(技术上)是关闭的,所以我可以在那里做完整的处理。

有关如何进行的任何建议?

**更新**

下面是一些输出I断开屏幕后:

/edu/process/TOB.java:3: warning: PNGImageReaderSpi is internal 
proprietary API and may be removed in a future release 
import com.sun.imageio.plugins.png.PNGImageReaderSpi; 
          ^
/edu/process/LPR.java:125: warning: [unchecked] unchecked conversion 
Dist<Double> d = new Dist(""); 
          ^
required: Dist<Double> 
found: Dist 
2 warnings 
Error: Could not find or load main class edu.process.DService 

警告等等都OK,我已经彻底的检查,他们不与处理干扰。这是错误。这是运行一切的主要类,在断开屏幕后,它只是说它不再存在。

+0

你怎么知道框架有问题?你看到任何输出吗? –

+0

从来没有听说过这样的问题。你能否包含特定的错误信息? – zapl

+0

打开新的屏幕会话后,运行“source〜/ .bashrc”,它会带来所有的环境变量。 –

回答