将Java应用程序置于后台并在Linux中从键盘读取

时间:2013-09-04 12:28:51

标签: java linux input keyboard background-process

我编写了java应用程序来读取键盘输入并执行其他一些工作。 如何在后台运行该应用程序并使其在Linux后台中读取键盘输入?

3 个答案:

答案 0 :(得分:0)

进程只能在其终端/ UI窗口/等时读取键盘输入。有重点。您可以做些什么,例如如果你在服务器上有适当的访问权限,那就是从套接字读取Java应用程序并从键盘将数据发送到该套接字。

E.g。

on tty:

$ socket -sl 11555

另一个tty:

$ nc 0 11555 | yourjavabinary

现在,无论您在第一个tty中输入什么,您的Java应用程序都会将其作为输入接收。

答案 1 :(得分:0)

如果您的Java应用程序失焦,我认为不可能读取键盘事件。您可以使用一些JNI组件并从java中调用它。

答案 2 :(得分:0)

你的意思是shell中的背景?或窗口管理器中的背景?

对于shell,您可以尝试使用script(1)程序。它启动一个新shell并捕获文件的所有输入和输出。你必须弄清楚哪些行是输入。

http://man7.org/linux/man-pages/man1/script.1.html