我想在浏览器中打开一个链接,然后我希望程序终止。为此,我正在创建一个使用 exec 在链接上运行 xdg-open 的子进程。我发现如果浏览器已经打开,则关闭浏览器不会终止程序,如果浏览器尚未打开,则关闭浏览器会终止程序。如何使子进程调用 xdg-open 后,如果父进程终止,程序应该终止。这是代码:
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main()
{
if (fork() == 0) {
execlp("xdg-open", "xdg-open", "https://youtube.com", NULL);
exit(0);
}
else
printf("I am the parent\n");
printf("Exiting now\n");
return 0;
}
编辑:在 exec 调用之后删除了一个打印语句,因为我在 exec 之后意识到子进程被我调用的程序替换。