【发布时间】:2018-07-12 15:58:10
【问题描述】:
我有一个可以打印到终端输出的应用。
将其置于后台时(使用“&”),然后按任意键,例如按回车
重新显示提示(只是为了检查当某些输出时我是否仍在 bash 中
从后台进程已显示),后台进程似乎自发停止:
[1] Stopped (tty output) app
我知道这是因为进程获取 SIGTTIN 或 SIGTTOU,这里可能是 SIGTTIN,如果是 printf 等,则可能是 SIGTTOU。
所以我有两个问题:
1.我尝试从应用程序端处理它,只需阻止 SIGTTOU 和 SIGTTIN,它有助于这种情况,我可以按外壳中的任何键,但是当我在前台执行进程时 - 当然我所有的击键都会被忽略!!!
那么,如何处理它才能在 fg 和 bg ???
也许从终端和 tty 分离进程,但应用程序仍然能够打印到控制台吗?
2. 一般来说,谁必须处理这些信号? app 或者它应该在 tty 配置中处理。 (停止?)
提前致谢!
【问题讨论】:
标签: linux linux-device-driver embedded-linux