execvp

    5

    2답변

    쉘을 만들고 있는데 시스템 호출 'execvp'에 문제가 있습니다. 나는이 주제에 관해 몇 가지 다른 질문을 보았지만 막연했고 완전히 다루어지지 않은 것처럼 보였다. (누가 질문을했는지 많은 정보를 제공하지 못했고 좋은 대답을 얻지 못했다.) 분명히 난 내 자신의 명령 행을하고 난 mysh some/path $ ps -a 처럼 stdin에서 사용자의 입

    1

    1답변

    나는 파일을 검색하고 결과를 파이프와 같은 다른 명령으로 전송하는 프로그램을 만들고있다. ls | sort 프로그램을 실행할 때 아무 일도 일어나지 않습니다. 내가 생각하는 문제는 자녀가 부모가 읽기를 시작하기 위해 SO 버퍼에서 쓰기를 중지 할 때까지 기다리는 것입니다. 이것은 stdout에 보내지는 것이고 파이프는 다른 명령으로 보내야하는 것입니다. [

    1

    3답변

    명령을 받아 실행하는 작은 쉘 프로그램을 작성하고 있습니다. 사용자가 유효하지 않은 명령을 입력하면 if 문은 -1을 반환합니다. 명령이 올 바르면 명령을 실행하지만 일단 명령을 실행하면 프로그램이 종료됩니다. 내가 그 뒤에 코드 줄을 실행하지 않는다면 내가 뭘 잘못하고 있니? 나는 execvp (command.argv [0], command.argv)를

    0

    1답변

    fork() 및 execvp()을 사용하여 프로세스를 실행하는 데 문제가 있습니다. 실행하는 프로그램의 이름 #define MAXARGS 2 struct pcb { pid_t pid; // system process ID char *args[MAXARGS]; // program name and args int arriva

    6

    2답변

    execvp을 호출 할 때, 예를 들어 execvp(echo, b)을 호출하면 b는 명령 a에 대한 인수 배열입니다. 나중에이 배열을 변경하면 이전에 작성한 execvp 호출에 영향을 줍니까? execp (echo, b)를 호출하면 b의 내용 대신 (null) 출력됩니다. 왜 인자를 올바르게 전달해야하는지, 그리고 내가해야 할 일을 지적 할 수 있습니까?

    1

    2답변

    execvp(argv[1], &argv[1]) 정확하게 execvp()의 두 번째 인수로 수행되는 작업은 무엇입니까?

    0

    1답변

    내 코드는 다음과 같습니다 execvp(command, args); 인수는 char* args[] 명령입니다 char* command ls -l에 대한 예를 들어, 명령은 LS와 인수가 실행 한 후 -l하지만 왜이다 execvp(command, args) 결과는 ls이 아니며 ls -l ??

    3

    1답변

    많은 자식 프로세스를 포크하는 서버 프로세스가 있는데 서버 프로세스는 CPU 코어에 친화력을 가지고 있습니다. 자식 프로세스가 선호도를 상속하지 않기를 원합니다. 프로세스). CPU 친화력과 관련하여 상위 하위 프로세스를 연결 해제하는 방법이 있습니까? 감사

    2

    2답변

    이것은 더 큰 프로그램의 일부분이지만 execvp의 출력을 얻으려는 것입니다. execvp를 정확하게 지시 한 dup2으로 설정했습니다 파이프에. 파이프의 전체 길이를 읽으려면 read를 사용할 때 내 문제가 발생합니다. execvp의 출력이 입력에 따라 다를 수 있으므로 얼마나 큰지는 알 수 없습니다. int fd[2]; pipe(fd);

    23

    2답변

    execvp는 이렇게 정의된다 사용되는 이와 같은 코드를 배제 int execvp(const char *file, char *const argv[]); : const char* argv[] = {"/bin/my", "command", "here", NULL}; execvp(argv[0], argv); 이것이 우발적 생략 되었습니까? 이 주위 con