3
첫째, 나는 C++ 코드를 썼다. 는()
import os,sys
sys.stdin = open("./data.in","r")
sys.stdout = open("./data.out","w")
pid = os.fork()
if pid == 0:
cmd = ["./a","./a"]
os.execv(cmd[0],cmd)
는 그러나,
data.out
파일이 아무것도 포함하지 않는 다음과 같이
그 후, 나는 파이썬 코드를 썼다. 즉, 자식 프로세스는 부모 프로세스에서 stdin 및 stdout을 상속받지 않았습니다. 나는 C++ 코드를 작성하지만 다음과 같이
#include<unistd.h>
#include<cstdio>
int main()
{
freopen("data.in","r",stdin);a
freopen("data.out","w",stdout);
int pid = fork();
if(pid == 0)
{
char* cmd[]= {"./a","./a"};
execv(cmd[0],cmd);
}
return 0;
}
나는 그는 C++ 코드에서 작동 execv와 말을하는 것입니다의
data.out
에 올바른 대답을 얻었다.
그래서 execv가 파이썬에서도 작동하도록하려면 어떻게해야합니까? 이 기능이 정말로 필요합니다. 아무도 말해 줄 수 있습니까? 고마워요! 파이썬 코드에서
1 1