|
|
1
1
您可以通过调用
如果您仍然需要作业控制,那么应该使用一个伪终端来与shell通信,这将创建一个新的tty供shell使用,但我认为Java不支持这个功能。 |
|
|
2
1
你被SIGTTIN或SIGTTOU拦住了。当这些信号试图对TTY进行IO操作时,它们被发送到后台进程。在这种情况下,“后台”是指“不是终端的控制进程组”。我怀疑你的子地狱正在创建一个新的pgrp并接管你的tty。然后,父程序(java)执行IO(在您的情况下,可能是从TTY读取)并获取SIGTTIN。 确认这一理论的一个简单方法是用更简单的东西(不是外壳)代替sh,这样就不会试图接管tty。 |