微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c – Ncurses放置在后台时会停止进程

问题:

Ncurses屏幕初始化会导致发送到后台的进程停止,只有在恢复到前台时才会恢复。

问题(S):

是否有可能使用ncurses进行显示的进程仍然在后台运行?

有没有一种方法让程序自我检查它是否在后台运行,并在前台调用时初始化ncurses,并在发送回到后台时结束(可能需要重复此操作)?

笔记:

我只想在进程在前台运行时更新显示

当进程在后台时,不需要更新显示

任何和所有的帮助表示赞赏。

状态更新

2013年7月17日

通过ncurses文档查看initscr()导致发送到后台时程序中断的原因。

Windows 8 NetScheduleJobAdd请求不受支持

如果我处理了工作的一个窗口,如何处理工作

如何检查PHP作业实例

在Windows上的cron作业的最佳途径

如何从Windows上的作业对象中删除进程而不终止它

研究过程状态的检测。

bash:什么是jobspec

为什么SIGHUP信号在成为孤立进程组时没有收到

Powershell将variables传递给作业

是否可以通过名称来pipe理JobObjects,而不必保持打开的HANDLE?

如何安排工作和在Linux中传递参数并行运行

我认为肇事者可能是(来自信号(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'或类似的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐