Linux 创建子进程执行任务
发布时间:2020-12-15 07:18:53 所属栏目:安全 来源:网络整理
导读:# include ); #include span style="color: #0000ff"int main(span style="color: #0000ff"void span style="color: #000000") { pid_t pid; span style="color: #0000ff"char *span style="color: #000000"message; span style="color: #0000ff"int span st
# include
#include
<span style="color: #0000ff">int { pid_t pid; <span style="color: #0000ff">int<span style="color: #000000"> n; pid =<span style="color: #000000"> fork(); <span style="color: #0000ff">if(pid < <span style="color: #800080">0<span style="color: #000000">) { perror(<span style="color: #800000">"<span style="color: #800000">fork failed<span style="color: #800000">"<span style="color: #000000">); exit(<span style="color: #800080">1<span style="color: #000000">); } <span style="color: #0000ff">if(pid == <span style="color: #800080">0<span style="color: #000000">) { printf(<span style="color: #800000">"<span style="color: #800000">This is the child process. My PID is: %d. My PPID is: %d.n<span style="color: #800000">"<span style="color: #000000">,getpid(),getppid()); } <span style="color: #0000ff">else<span style="color: #000000"> { printf(<span style="color: #800000">"<span style="color: #800000">This is the parent process. My PID is %d.n<span style="color: #800000">"<span style="color: #000000">,getpid()); } <span style="color: #0000ff">return <span style="color: #800080">0<span style="color: #000000">; }
$ forkdemo.c -o forkdemo
$ ./forkdemo
fork 函数的特点是 "调用一次,返回两次":在父进程中调用一次,在父进程和子进程中各返回一次。在父进程中返回时的返回值为子进程的 PID,而在子进程中返回时的返回值为 0,并且返回后都将执行 fork 函数调用之后的语句。如果 fork 函数调用失败,则返回值为 -1。
#include
调用 exec 族函数会把新的程序装载到当前进程中。在调用过 exec 族函数后,进程中执行的代码就与之前完全不同了,所以 exec 函数调用之后的代码是不会被执行的。
#include
$ subprocessdemo.c -o subprocessdemo
$ ./subprocessdemo
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |