을 execvp는 수, 나는 * char* args[7] = {(char*)"worker",workerID,i+1,msgID,shmID,semaphoreID,NULL};
if(execvp("worker",args)<0){
cerr << "execvp failed" << endl;
exit(1);
}
가 어떻게 제대로 문자를 입력하려
나는 내 프로그램에서 다음과 같은 두 개의 문자열을 구문 분석 할 수 있어야합니다 : cat myfile || sort
more myfile || grep DeKalb
문자열은 문자 버퍼 [1024]에 저장되고있다. 내가 왼쪽에 char 배열을 가리키는 포인터와 오른쪽에 char 배열을 가리키는 포인터를두면 다음과 같이 호출 할 수 있습니다. int
사용자가 입력 한 인수를 execvp()에 전달하려고합니다. 지금까지 문자열을 분할했습니다. 사용자가 ls -a을 입력하면 temp은 "ls"로 저장되고 "-a"다음에 NULL 문자가 저장됩니다. 나는 정확히 이것을 execvp에 가리키는 방법을 잘 모르겠습니다. 예제에서는 execvp(temp[position], temp)을 사용하여 보았습니다. 나는 그
데몬이 실행 중이며 연결이 끊어지면 프로세스가 생성 될 수 있습니다. 이 작업은 execvp() 및 fork()을 사용하여 수행됩니다. 문제는 프로세스가 루트로 실행되어서는 안되며 프로세스가 올바른 사용자 환경에 의존해야한다는 것입니다. 그래서 사용자 환경을로드하는 방법을 찾고 있습니다. 현재 프로세스는 gid와 uid를 설정하여 다른 사용자로 실행됩니다.
구문 분석하는 명령을 실행해야하는 작은 셸을 코딩하고 있습니다. f는 다음과 같이 char **입니다. [ls] [- la] p는 다음과 같이 사용됩니다. [wc] 그래서 ws에서 ls -la를 파이프 처리했습니다. 내 문제는 "ls -la | wc & & 날짜"를 실행하면 파이프에 대해 잘 작동하며 내 미니 쉘은 닫히고 "날짜"는 실행되지 않습니다. 나는
현재이 오류로 고민하고 있습니다. execvp();를 사용하여 명령을 실행하기 위해 fork()를 사용하여 쉘 에뮬레이터를 작성했습니다. 인수가없는 ls를 제외하고 거의 모든 명령을 내 쉘로 구문 분석하려고합니다. 내가 LS의 -lah을 실행하려고하면 은, 모든 작동하지만, 간단한 LS는, 다음과 같은 오류가 발생하지 않습니다 (다만 필수) pid = fo
현재 매우 기본적인 셸로 작동해야하는 클래스에 대한 과제를 작성하고 있습니다. 거의 끝났지 만 execvp과 매개 변수의 문자 배열 문제가 있습니다. 여기 내 코드의 간단한 미리보기가있다. //Split the left content args
istringstream iss(left);
while(getline(iss, s, ' ')){
v.p
내 프로그램에서 2 개의 파이프를 설정하고 싶습니다. 나는 잘 작동하는 1 개의 파이프가 있지만 두 번째 파이프를 배치 할 위치를 알지 못합니다. 내 설정의 의사 코드는 다음과 같습니다 , 여기 는 //the first pipe:
pipe(pipe1)
//the second pipe:
pipe(pipe2)
pid = fork()
if(pid
내가 몇 UNIX 명령을 실행하는 코드의 조각을 실행하는 것을 시도하고있다가,이 명령은 배열 lineArray에 저장된 명령을 실행하지 않습니다 내 함수가 execvp MAN에 따라 명령과 인수를 올바르게 구문 분석한다는 것을 디버그에서 보았지만 배열의 첫 번째 명령 만 출력합니다. 모든 종류의 도움을 주실 수 있습니다. int startProcesses(