嵌入式Linux多工程式設計 程序 管道 命名管道

2021-10-21 06:26:28 字數 3314 閱讀 5426

pid_t new_pid;

new_pid = fork();

switch(new_pid)

char* envp = ;

char* ar**_execv = ;

char* ar**_execvp = ;

char* ar**_execve = ;

if (execl("/bin/echo","echo","executed by execl", nullptr)<0)

perror("err on execl");

if (execlp("echo","echo","executed by execlp", nullptr)<0)

perror("err on execlp");

if(execle("/user/bin/env","env", nullptr,envp)<0)

perror("err on execle");

if (execv("/bin/echo",ar**_execv)<0)

perror("err on execv");

if (execvp("echo",ar**_execvp))

perror("err on execvp");

if(execve("/user/bin/ebv",ar**_execve,envp)<0)

perror("err on execve");

#include #include #include int main()else

return 0;

}

#include #include #include #include int main() else if (pc > 0)

setsid();//在子程序中建立新的會話

chdir("/");//改變目錄為根目錄

umask(0);//重設檔案的許可權掩碼

for (int i = 0; i < 65535; ++i)

int fd;

while (1)

write(fd,buf,len+1);

close(fd);

sleep(10);

}return 0;

}

#include #include int main(void)

else

close(pipe_fd[0]);

close(pipe_fd[1]);

return 0;

}

#include #include #include int main(void)

; //在建立子程序之前建立管道

if(pipe(pipe_fd) < 0) else

pid = fork();//建立子程序

//子程序執行的**

if (pid == 0)

}close(pipe_fd[0]);

} else

close(pipe_fd[1]);

wait(nullptr);

}return 0;

}

上面這個例子 感覺有問題 

#include #include #include #include int main() else

pid_t pid = fork();

// char buf[2] = ;

char buf[100] =;

int len = strlen(buf);

if (pid == 0)

}close(pipe_fd[0]);

} else

close(pipe_fd[1]);

wait(nullptr);

}return 0;

}

簡單修改如下

#include #include #include int main(void)

; char * p_wbuf = nullptr;

int r_num;

//在建立子程序之前建立管道

if(pipe(pipe_fd) < 0)

if(pipe(pipe_fd1) < 0)

printf("pipe create success!\n");

// printf("pipe_fd[0] = %d,pipe_fd[1] = %d",pipe_fd[0],pipe_fd[1]);

// printf("pipe_fd1[0] = %d,pipe_fd1[1] = %d",pipe_fd1[0],pipe_fd1[1]);

pid = fork();//建立子程序

//子程序執行的**

多工設計 玩轉嵌入式多工程式設計筆記三

目錄 2 核 4 執行緒 1mhz 就是 1us 大小核 big.little 核心指令 opcode 手動排程 編譯時刻排程 compile time schedule 自動排程 runtime schedule 任務平面 task plane 任務多元化原則 資料完整性 共享資源 2 核 cpu...

嵌入式linux多程序程式設計

嵌入式linux多程序程式設計 在主程式顯示文字選單,提供如下服務,要求每個服務都通過生成子程序來提供。服務包括 日曆資訊顯示,日期資訊顯示,判斷閏年服務,檔案複製功能,數字排序功能,退出功能。include include include include include include void ...

嵌入式 一種裸機程式設計多工切換方法

有時候為了實現一些簡單的 對實時性要求不高的任務,採用作業系統不僅增加了程式的複雜性,對低效能微控制器的資源占用也是值得考慮的問題。這時候作業系統可能不是必要的,可以通過一種簡單的方法,在裸機程式設計中實現類似 多工切換 的方法。比如,在某個應用中,我們需要10ms做一次a d轉換,1s串列埠傳送一...