30/09/2018, 20:09

Cách sử dụng Fork-exec

Tiếp tục topic về Fork

Trên lớp thầy em giảng về hệ điều hành mà em chẳng hiểu gì. . Có anh nào giúp em giải thích về mấy hàm fork và tóm tắt or tài liệu học về hệ điều hành với ạ ! Đề bài như sau: hello.exe la file minh build ra từ file hello.c file hello chỉ print ra câu "xin chao "thôi Hãy sửa đoạn code sau để child process chạy hello.exe. int main(void) { pid_t child_pid; int status; pid_t wait_result; child_pid = fork(); if (child_pid == 0) { /* this code i…

Vấn đề 1:
tuy nhiên việc sử dụng hàm exec hơi lạ…
khi em search thông tin về fork-exec
int execl ( const char *path, const char *arg, … );
int execlp( const char *file, const char *arg, … );
int execle( const char *path, const char *arg, …, char *const envp[] );
int execv ( const char *path, char *const argv[] );
int execvp( const char *file, char *const argv[] );
int execve( const char *file, char *const argv[], char *const envp[] );
Trường hợp của em là
execl("/bin/ls", “ls”, “-l”, NULL);
Anh giải thích giúp em với ạ
1 .tại sao Path lại là bin/ls trong khi em khai báo thư mục chứa file của em là e:/fork lại báo lỗi ạ
2. “ls” là lệnh search trong terminal và “-l” chắc cũng vậy nhỷ
3. em muốn run hello.c thì em gõ code execl("/bin/ls", “./hello.exe”, NULL); đúng k ạ
4.khác biệt các hàm trên là như nào ạ

Bài liên quan
0