fork 명령을 사용하여 디렉토리를 변경할 수 있습니까?C에서 fork로 cd 명령 사용
childpid = fork();
if (childpid >= 0)
{
if (childpid == 0)
{
ret = execvp(argv[0],argv);
exit(ret);
} else {
waitpid(childpid,&status,0);
ret = WEXITSTATUS(status);
}
}
나는 등, ls
같은 pwd
을 기본 명령을 입력하고있어 때 위 .. 잘 작동는 CD 기능을 사용하는 방법을 구현할 수 : 내 코드에 너무 많은 것없이 나는 다음이 ? cd ..
명령을 입력 할 수는 있지만 아무 것도하지 않습니다. 내 프로그램 /Users/username/Desktop/
에있는 경우
예를 들어 나는 /Users/username/
로 이동하거나 내가 chdir
에 대한 몇 가지 물건을 본 적이 /Users
로 바로 이동 할 수있는 등 cd ..
같은 명령을 사용하고 싶습니다하지만 난 아니에요 정확하게 작동하는 방법/사용 방법. 당신이 chdir
는 현재 프로세스의 작업 디렉토리를 변경하는 가장 좋은 방법입니다 했나요으로
현재 디렉토리가 각 프로세스에 따라 다릅니다. 쉘 프로세스가/Users/username/Desktop에 있고'cd ..'라고 입력하면 새로운 프로세스가 생성되고 새로운 프로세스는/Users/username으로 변경되지만 쉘 프로세스는 디렉토리를 변경 한 프로세스와 다른 프로세스. – immibis