第三十一讲 进程
文章目录
操作系统是通过进程来实现对应用程序的协调运行
一、进程
在单片机开发中,是没有进程的概念的。因为单片机内就运行了一个程序。但是在 Windows 或者 Linux 里面可以运行多个程序,这些程序需要进行统一的管理。操作系统通过对进程的管理来对不同程序进行管理。
获取进程之间的关系:pstree
操作系统通过 pid 来区分不同的进程。通过命令 ps -ef
可以查看进程的pid。
二,创建一个进程
1、函数介绍
函数 | 说明 | 返回值 | 头文件 |
---|---|---|---|
pid_t fork(void); | 创建进程 | 成功: 0或者其他正整数 失败: -1 | unistd.h |
2、fork 函数特性
-
执行 fork 函数之后, fork 函数会返回两次不同的值
执行 fork 函数后会创建一个新的进程,他会复制旧的进程里面几乎所有的内容。也就是生成两个几乎一摸一样的进程。而这两个进程都是从 fork 函数返回,所以会有两个返回值。如果从旧的返回,返回值为0或者-1,在新进程返回时,返回新进程的pid
-
在执行 fork 函数之前,操作系统只有一个进程,fork 函数之前的代码只会被执行一次。fork 函数执行之后的代码会被执行 2 次。
三、fork 实验
1、实验代码
#include <unistd.h>
#include <stdio.h>
int main(char *argc, char **argv)
{
pid_t lPid;
printf("Before fork!\r\n");
lPid = fork();
printf("After fork pid is %d\r\n", lPid);
return 0;
}
2、实验结果
执行编译完成的可执行程序
Before fork!
After fork pid is 3177
After fork pid is 0
标签:fork,函数,pid,实验,第三十一,进程,执行 来源: https://blog.csdn.net/qq_34355238/article/details/120734906
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。