2

我在 GNU/Linux 下运行一个服务器应用程序(用 Java 编写),它接受输入(我猜来自标准输入)并解释它以运行一些命令。我不想在终端窗口中运行该应用程序(我想运行一个守护程序),但我仍然希望能够随时输入命令。我认为我可以使用 fifos 来做到这一点,所以我使用 mknod 创建了它。问题是cat fifofile > java...cat fifofile | java ...由于某种原因出现“找不到文件”错误而失败。

仅使用 cat 进行读写,fifo 可以完美运行。

有什么方法可以解决这个问题,或者有什么其他方法可以实现相同的目标吗?

4

2 回答 2

8

那么,我的世界?最好的方法是为应用程序的控制台部分提供一个真正的 tty。 screen是一种简单的方法。

于 2010-12-30T01:21:30.420 回答
1

你试过java < fifofile吗?类似的东西exec 3<&0; exec 0<fifofile; java呢?

你用的是什么外壳?如果您使用支持它们的外壳,您可能能够使用进程替换或协同进程。

于 2010-12-30T01:50:41.713 回答