1
我想执行LP来打印PDF文档并等待它退出。在 它存在我试图删除与unlink();ANSI C - 执行进程,等待,删除文件
但是,等待在execv执行LP之前完成。我不太确定 如何处理这个问题,以及为什么等待直到execv结束。
有没有其他办法可以做到这一点?
if(fork())
{
fprintf(stderr, "Executing command %s %s", "/usr/bin/lp", homedir);
char *const parmList[] = {"/usr/bin/lp", homedir, (char *)0};
execv("/usr/bin/lp", parmList);
}else
{
int pid, status;
fprintf(stderr, "Wait\n");
pid = wait(&status);
fprintf(stderr, "Finished waiting.\n");
unlink(homedir);
}
当执行上面的代码的输出中是这样的:
Wait
Finished waiting.
Executing command /usr/bin/lp /home/user/Docs/test.pdf
/usr/bin/lp: Error - unable to access "/home/user/Docs/test.pdf" - No such file or directory