1.
一个进程都由一个唯一的标识符表示,即进程ID,
1.1
ID
2.
#include
pid= ppid=
3.
exec调用
4.exec调用
execl()函数的原型为
path
const
execl()调用会以跳到新的程序的入口点作为结束,错误的时候会返回
=execl(,,(ret==
5.fork()调用
一个和当前进程映像一样的进程可以通过fork()调用,调用者从fork()
当前进程就是父进程,创建成功的进程是子进程。
fork()调用,会返回子进程的
fork()调用会返回
#include
}<span style="color: #0000ff">else <span style="color: #0000ff">if(ret==<span style="color: #800080">0<span style="color: #000000">){
pid=<span style="color: #000000">getpid();
ppid=<span style="color: #000000">getppid();
printf(<span style="color: #800000">"<span style="color: #800000">我是子进程,pid=%d,ppid=%d \n<span style="color: #800000">"<span style="color: #000000">,ppid);
}<span style="color: #0000ff">else <span style="color: #0000ff">if(ret==-<span style="color: #800080">1<span style="color: #000000">){
perror(<span style="color: #800000">"<span style="color: #800000">fork<span style="color: #800000">"<span style="color: #000000">);
}
}
</span><span style="color: #0000ff">int</span> ret=<span style="color: #000000"><a href="https://www.jb51.cc/tag/fork/" target="_blank" class="keywords">fork()</a>;
</span><span style="color: #0000ff">if</span>(ret><span style="color: #800080">0</span><span style="color: #000000">){
pid</span>=<span style="color: #000000">getpid();
ppid</span>=<span style="color: #000000">getppid();
printf(</span><span style="color: #800000">"</span><span style="color: #800000">我是父进程,pid=%d,ppid=%d,我新建的子进程pid=%d\n</span><span style="color: #800000">"</span><span style="color: #000000">,pi
d,ppid,ret);
sleep(
}<span style="color: #0000ff">else
pid=<span style="color: #000000">getpid();
ppid=<span style="color: #000000">getppid();
printf(<span style="color: #800000">"<span style="color: #800000">我是子进程,pid=%d,ppid=%d \n<span style="color: #800000">"<span style="color: #000000">,ppid);
}<span style="color: #0000ff">else <span style="color: #0000ff">if(ret==-<span style="color: #800080">1<span style="color: #000000">){
perror(<span style="color: #800000">"<span style="color: #800000">fork<span style="color: #800000">"<span style="color: #000000">);
}
}
pid=13890,ppid=10038,
pid=13891,ppid=13890