[Linux]C语言Linux系统编程创建进程

1.

一个进程都由一个唯一的标识符表示,即进程ID,

1.1

ID

2.

#include pid= ppid=

3.

fork()

exec调用

4.exec调用

execl()函数的原型为

path

const

execl()调用会以跳到新的程序的入口点作为结束,错误的时候会返回

=execl(,,(ret==

5.fork()调用

一个和当前进程映像一样的进程可以通过fork()调用,调用者从fork()

当前进程就是父进程,创建成功的进程是子进程。

fork()调用,会返回子进程的

fork()调用会返回

#include </span><span style="color: #0000ff"&gt;int</span> ret=<span style="color: #000000"&gt;<a href="https://www.jb51.cc/tag/fork/" target="_blank" class="keywords">fork()</a>; </span><span style="color: #0000ff"&gt;if</span>(ret><span style="color: #800080"&gt;0</span><span style="color: #000000"&gt;){ pid</span>=<span style="color: #000000"&gt;getpid(); ppid</span>=<span style="color: #000000"&gt;getppid(); printf(</span><span style="color: #800000"&gt;"</span><span style="color: #800000"&gt;我是父进程,pid=%d,ppid=%d,我新建的子进程pid=%d\n</span><span style="color: #800000"&gt;"</span><span style="color: #000000"&gt;,pi

d,ppid,ret);
sleep(<span style="color: #800080">3);<span style="color: #008000">//<span style="color: #008000">父进程不能太快终止,否则看不出子进程ppid的效果
}<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">);
}
}

pid=13890,ppid=10038,

pid=13891,ppid=13890 

相关文章

Linux中的ARP防火墙主要用于防御ARP欺骗攻击,其效果取决于多...
insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...