我的操作系统测试中存在一个问题,我不确定:
给出以下代码:
MethodNotAllowedHttpException in RouteCollection.php line 218:
(1)如何使用其他系统调用替换dup2()调用?
我的回答:
int fd = open("File", O_RDWR);
dup2(fd, 1);
write(1, "Hi", 2);
exit(0);
(2)在给定代码中替换答案(1)的代码,在生成的可执行文件的执行过程中会发生什么,这强调了dup2()是原子操作的必要性?
在这种情况下,给出'给定'代码我无法找到反例;我的反例是:
close(1);
dup(fd);
我用这个例子说,如果该行'写(1," a",1)'安排在'关闭'并且' dup',会出现错误,因为不存在fd = 1的文件;但我无法找到可能的特殊情况'用开头给出的代码。我想知道这个练习是否存在歧义,或者我对此并不了解。 提前谢谢!