execvp

    2

    1답변

    내 프로그램에서 다른 프로그램을 실행하려고하지만 몇 가지를 이해하지 못합니다. 그래서 내가이 코드를 썼다 : run_decorator() 함수를 호출 할 때 void run() { cout << "##Run" << endl; pid_t process_id = fork(); if (process_id == 0) { cha

    1

    1답변

    저는 bash 쉘에서 ||, && 및 ; 연산자를 구현하려고합니다. 내가 뭘 하려는지, int 플래그가 성공한 경우 1로, 그렇지 않은 경우 0으로 설정됩니다. 내 문제는 내가 1로 플래그를 설정하는 등 ls -apples으로 잘못된 동작을 입력 할 경우에도 나는 또한 오류 메시지가 있다는 것입니다 LS : 잘못된 옵션 - 'E' '에게 LS --help'

    0

    2답변

    실행 파일이 a.out인데이 파일에는 여러 개의 command-line 인수가 필요합니다. 이 실행 파일은 root 권한 (예 : sudo ./a.out arg1 arg2 ...)으로 실행해야합니다. execvp C++에서 시스템 호출을 사용하여 어떻게해야합니까?

    1

    1답변

    C 라이브러리의 함수 sched_setscheduler을 사용하여 스케줄링 정책이 SCHED_BATCH으로 설정된 하위 프로세스가 있다고 가정하면이 하위 프로세스는 다음을 사용하여 외부 프로세스를 생성합니다. execvp 시스템 호출. 생성 된 새 프로세스의 스케줄러가 이전 하위 프로세스의 스케줄러와 동일합니까? 예 : execvp 시스템 호출을 통해 상속

    2

    2답변

    execvp 명령이 파일로 전송되도록 파일 설명자를 변경하고 싶습니다. 그런 다음 stdout을 다시 콘솔로 재설정하고 싶습니다. 이 내가 지금까지 무엇을 가지고 : int main() { printf("to console\n"); int stdoutfd = dup(STDOUT_FILENO); FILE* file = fopen("

    0

    1답변

    제목을 자세히 설명하기 만하면 execvp()가 호출 될 때 매우 정교하고 임의의 잘못된 주소가 표시됩니다. 나는 에코, 나노, CD를 사용하고, 때때로 한 번씩 나는 나쁜 주소로 치게 될 것입니다. 문자열의 벡터를 사용하여 문자열의 벡터를 const char **로 변경하고 마지막에 null을 추가합니다. null이 항상 읽히지 않는 것처럼 보입니다. 도

    0

    2답변

    나는 Rust에서 libc 라이브러리로 직접 연결되는 셸을 작성하려고 시도 해왔다. Vec<String>을 사용하여 인수를 execvp()으로 전달했지만 char **으로 변환하지 못한 것 같습니다. 실행시 모든 매개 변수가 널 문자열이되었습니다. 다음은 관련된 코드입니다. fn safe_execvp(path: String, argv: Vec<String>

    -4

    1답변

    fork 및 execvp을 사용하여 간단한 셸을 만들었습니다. 프로그램을 실행하고 ls 또는 ls -l과 같은 명령을 입력하면 어떻게 작동하는지 알 수 있습니다. 그 일이 끝나면 내 프로그램이 다른 명령을 기다리는 동안 앉아 있지만 다른 유효한 명령을 넣거나 심지어 같은 명령을 넣을 때도 있습니다. execvp은 ls: cannot access 'ls':

    1

    1답변

    명령을 실행할 수 없을 때마다 "이진 실행 오류 : -nameOfBinary-"라는 셸을 만들려고합니다. 그러나 그 문제는 항상 "No such file or directory"라는 메시지를 나에게줍니다. 을 Heres의 내 코드의 일부 : 코드와 void handle_SIGINT() { write(STDOUT_FILENO,line,strlen(l

    1

    1답변

    C 프로그램에서 execvp()을 사용하여 netcat 수신기를 만듭니다. 프로그램이 종료되면 리스너를 죽이고 싶습니다. 예 : int main(){ char *listener[] = { "/bin/bash", "-c", "nc -l 1338 > text.tar", NULL }; execvp(l