我正在使用system()在Linux上启动evince,它可以正常工作,直到我加载文档并尝试关闭它。当我尝试关闭文档系统时()永远不会返回:
我的代码:
char systemString[MAXPATHLEN];
sprintf( systemString, "%s", "evince" );
int ret = system( systemString );
if ( ret == -1 )
{
perror( "system" );
exit(1);
}
知道为什么吗?如果没有,我如何调试它,当在调试器中使用它时,它也永远不会返回它。代码相当大,一些信号被阻止,但我尝试了一些我认为这个使用和相同的错误。
由于
答案 0 :(得分:0)
我找到了它,因为SIGTERM被阻止但程序。这是一个很大的遗留计划。