如何让进程在不终止的情况下监听用户输入? .因此,例如,我希望 bash 等待 X 分钟,如果我说“停止”,它就会退出,或者只是继续等待……我怎样才能做到这一点?因此,在执行时我的进程会等待,然后我希望能够通过标准输入停止、暂停或继续,键入“停止”、“继续”或“暂停”。谢谢。
最佳答案
一个简单(但浪费)的选择是初始程序 fork 然后等待输入。子进程可以更新计数器。
当父程序接收到“暂停”时,它会向子程序发送信号 SIGTSTP。
当父程序收到“继续”时,它会向子程序发送信号 SIGCONT。
当父程序接收到“停止”时,它向子程序发送信号 SIGQUIT。
如果需要,您还可以在父级中使用 sigaction 设置一个 SIGINT 处理程序,当您键入 Ctrl+C 时,它会杀死子级。
关于c - 在 C 中处理信号、管道和分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30740236/