我已经编写了读取键盘输入并执行其他一些工作的 Java 应用程序。如何在后台运行该应用程序并使其在 Linux 后台读取键盘输入?
问问题
925 次
3 回答
0
进程只能在其终端/UI 窗口/等情况下读取键盘输入。有重点。例如,如果您在服务器上具有适当的访问权限,您可以做的是让 Java 应用程序从套接字读取并从键盘将数据发送到该套接字。
例如
在 tty 上:
$ socket -sl 11555
在另一个 tty 上:
$ nc 0 11555 | yourjavabinary
现在,无论您在第一个 tty 中键入什么内容,您的 Java 应用程序都会将其作为输入接收。
于 2013-09-04T12:37:35.233 回答
0
如果您的 java 应用程序失焦,我认为不可能读取键盘事件。您可以使用一些 JNI 组件并从您的 java.lang.java 中调用它。
于 2013-09-04T12:37:54.357 回答
0
你的意思是shell中的背景?还是窗口管理器的背景?
对于 shell,您可以尝试使用 script(1) 程序。它启动一个新的 shell 并将所有输入和输出捕获到一个文件中。不过,您必须弄清楚哪些行是输入。
于 2013-09-04T15:52:58.120 回答