第三十一讲 进程
2021/10/13 7:14:06
本文主要是介绍第三十一讲 进程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
第三十一讲 进程
文章目录
- 第三十一讲 进程
- 一、进程
- 二,创建一个进程
- 1、函数介绍
- 2、fork 函数特性
- 三、fork 实验
- 1、实验代码
- 2、实验结果
操作系统是通过进程来实现对应用程序的协调运行
一、进程
在单片机开发中,是没有进程的概念的。因为单片机内就运行了一个程序。但是在 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
这篇关于第三十一讲 进程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-11cursor试用出现:Too many free trial accounts used on this machine 的解决方法
- 2025-01-11百万架构师第十四课:源码分析:Spring 源码分析:深入分析IOC那些鲜为人知的细节|JavaGuide
- 2025-01-11不得不了解的高效AI办公工具API
- 2025-01-102025 蛇年,J 人直播带货内容审核团队必备的办公软件有哪 6 款?
- 2025-01-10高效运营背后的支柱:文档管理优化指南
- 2025-01-10年末压力山大?试试优化你的文档管理
- 2025-01-10跨部门协作中的进度追踪重要性解析
- 2025-01-10总结 JavaScript 中的变体函数调用方式
- 2025-01-10HR团队如何通过数据驱动提升管理效率?6个策略
- 2025-01-10WBS实战指南:如何一步步构建高效项目管理框架?