我使用的系統()在Linux上推出了Evince決不返回,直到我打開一個文件,並試圖關閉它工作正常。當我嘗試關閉文件系統()永遠不會返回:系統()用了Evince
我的代碼:
char systemString[MAXPATHLEN];
sprintf(systemString, "%s", "evince");
int ret = system(systemString);
if (ret == -1)
{
perror("system");
exit(1);
}
任何想法,爲什麼?如果沒有,我怎麼調試這個,當它在調試器中使用它永遠不會返回它。該代碼是相當大,一些信號被阻止,但我嘗試了一些我認爲這使用和相同的錯誤。
謝謝
當你從一個shell打開了Evince,它返回? –
如果你從'sh'終端啓動'evince'你會遇到同樣的問題嗎?你有一些錯誤信息嗎? –
不,只從程序內部,從cmd行sh就好了。我跑到另一個程序,以類似的方式啓動了Evince,它有沒有問題,但其較小的項目,它的東西,我的代碼,但我不知道它是什麼。如果它在此之前或之後造成它。 –