Ncurses屏幕初始化导致发送到后台的进程停止,只有在返回前台时才会恢复。
感谢任何和所有帮助。
2013年7月17日
查看ncurses文档,了解initscr()在发送到后台时导致程序中断的原因。
研究过程状态的检测。
答案 0 :(得分:0)
我认为罪魁祸首可能是(来自信号(7))
SIGTTIN 21,21,26 Stop tty input for background process
SIGTTOU 22,22,27 Stop tty output for background process
我不知道在使用ncurses时是否可以覆盖这些信号的信号处理。但是它似乎没有多大意义:你既不想从前台进程中窃取输入,也不想以不受控制的方式乱写tty(破坏前台进程所写的内容)。所以我认为,你观察到的行为可能是唯一明智的......
但是:如果你想在后台运行一些ncurses程序,你可以使用几乎所有Linux发行版中的屏幕http://www.gnu.org/software/screen/。在分离的屏幕中运行您的进程,然后使用'screen -r -D'或类似方法重新连接。