[Linux/Qnx] 遇到一个问题 Stopped (tty input)
Posted Saymour2008
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Linux/Qnx] 遇到一个问题 Stopped (tty input)相关的知识,希望对你有一定的参考价值。
想让发送数据的进程在后台运行,但是一启动该进程就出现这个问题。
一般这个问题可能和以下原因有关:
"[1] + Stopped (tty input)", 是指程序试图从控制终端读, 但是由于在后台运行, 受到SIGTTIN信号而被停止:
man signal有下面的输出:
21 SIGTTIN stop process background read attempted from control terminal
下面的程序演示了这种情况:
void sig_ttin(int signum) { (void)printf("%s: SIGTTIN caught.n", __func__); signal(SIGTTIN, SIG_DFL); } int main(void) { int n; signal(SIGTTIN, sig_ttin); scanf("%d", &n); return 0; }
但是我猜测可能是因为该进程要从串口读取数据,而此串口就是与调试终端连接的串口,所以此进程与终端(tty)因此关联起来,属于前台进程组。
因为测试发现即使在向stdout发送字符,也可以把进程放到后台,只要不打开串口。
相关的东东:
linux/qnx command : jobs, fg, nohup
以上是关于[Linux/Qnx] 遇到一个问题 Stopped (tty input)的主要内容,如果未能解决你的问题,请参考以下文章