strace应用

前言

后台运行某一程序时,出现图1现象,进程被挂起,无法响应控制指令。使用ps指令查看,如图2所示。该进程并没有退出或者僵死,状态变为T。
图1
图2

strace分析

使用strace分析,部分输出如图3所示
图3
从图3中可以看出,该进程是由于收到SIGTTOU信号而导致被挂起。
SIGPIPE,SIGTTIN,SIGTTOU三个信号量的解读
SIGTTOU的官方说明,该信号的默认动作是停止进程。
在这里插入图片描述

解决办法

1、不使用后台指令运行程序
2、使用nohup命令运行
3、忽略对SIGTTOU信号的处理,signal(SIGTTOU, SIG_IGN)

猜你喜欢

转载自blog.csdn.net/liang_zhaocong/article/details/126304803