0

我编写了一个使用 fork 创建子进程的程序。在子进程中,我使用 execl,它使用 firefox 打开一个本地 html 页面:

execl( "/usr/bin/firefox", "/usr/bin/firefox","/home/xyz/t/webpages/page1.html", (char*)NULL);

在休眠 5 秒后的父进程中,我向子进程发送 SIGTERM 信号:

sleep(5);
kill(browser_pid,SIGTERM);

编译并执行后一切正常。但是当我运行该程序超过 5 次迭代时,firefox 开始出现异常行为,并显示一个窗口来重置 firefox 或以安全模式打开: 在此处输入图像描述

当我手动关闭 html 页面而不向进程发送 SIGTERM 信号并使用浏览器上的关闭按钮时,它可以完美地用于任意数量的迭代。

我的程序应该每 5 秒刷新一次网页,以显示定期编写的新内容。我怎样才能以编程方式做同样的事情?

4

2 回答 2

0

删除~/.mozilla文件夹解决了这个问题。

于 2016-02-27T09:41:10.080 回答
0

尝试SIGINT代替SIGTERM.

于 2016-02-26T19:47:58.350 回答