带有evince的system()永远不会返回

时间:2011-11-21 21:05:07

标签: c system return

我正在使用system()在Linux上启动evince,它可以正常工作,直到我加载文档并尝试关闭它。当我尝试关闭文档系统时()永远不会返回:

我的代码:

char systemString[MAXPATHLEN];
sprintf( systemString, "%s", "evince" );

int ret = system( systemString );
if ( ret == -1 )
{
   perror( "system" );
   exit(1);
}

知道为什么吗?如果没有,我如何调试它,当在调试器中使用它时,它也永远不会返回它。代码相当大,一些信号被阻止,但我尝试了一些我认为这个使用和相同的错误。

由于

1 个答案:

答案 0 :(得分:0)

我找到了它,因为SIGTERM被阻止但程序。这是一个很大的遗留计划。