后台进程并从/ dev / pts / X读取

时间:2014-01-27 13:12:22

标签: java linux ubuntu background-process tty

我在Ubuntu 12.04上测试过它。首先,我在后台和关闭终端从user1运行java进程。然后我打开一个新的终端(来自user1)运行特殊脚本,将当前的tty名称(/dev/pts/2)发送到java进程。当收到姓名时,就会出现问题。后台进程尝试打开/dev/pts/2进行读取 - new FileInputStream(new File("/dev/pts/2"))并在此之后捕获异常:

Caused by: java.io.IOException: Input/output error
    at java.io.FileInputStream.readBytes(Native Method)

但是,写这个tty是有用的 - new FileOutputStream(new File("/dev/pts/2"))

我尝试以root身份运行java进程并且它有效(从/dev/pts/2读取)!显然这是一个有/ dev / pts / X ...

权限的问题

如何解决从user1开始的后台进程从任何user1终端读取的问题?

/dev/pts
crw--w----  1 root  tty  136, 0 Jan 27 17:25 0
crw--w----  1 user1 tty  136, 1 Jan 27 19:56 1
crw--w----  1 user1 tty  136, 2 Jan 27 19:45 2
c---------  1 root  root   5, 2 Jan 27 17:25 ptmx

0 个答案:

没有答案