Linux进程概念(一)(下)

简介: Linux进程概念(一)

那么刚才进程在跑的时候是什么 ?

是CPU执行进程内部的所有代码,从开始到结束可能会有很长的时间,也就是说:

进程在调度的时候具有动态属性。

与进程有关的系统调用

这就是返回调用进程的pid,返回值相当于整数。

还有另一种查看进程的方式:

这种方式不是很常用:

ls /proc

这是查看内存的文件,蓝色的是进程pid,也是进程在内存的文件:

进入之后还能查看到这个进程的很多属性。

进程常见的调用

那么父进程 ID是什么呢?

因为进程每次都要进行随机分配地址,所以ID是变的,可是父进程ID没有变。

那我们查看一下父进程是什么:

这时候发现父进程是一个叫 -bash 的进程,他是一个命令行处理器,那么在处理这个程序的时候创建了一个子进程来运行这个代码,这是为什么呢?因为如果bash进程亲自运行但是报错就会停止工作,bash都停止工作了,我们后续想继续用Linux系统就无法正常使用了。

初始fork函数

然后再来看看fork函数,这个函数会颠覆语言方面的认知,因为这是系统方面的。

他说作用是创建一个子进程,并且有两个返回值。

很奇怪,之前学C/C++语言的时候从未听过如此离谱的话,现在写一个来测试一下。

其实大概是这个样子的:

这就是说等于两个程序在运行,只不过创建出来的子进程是从fork函数之后开始运行的。

总结:fork后续的代码父子进程共享,通过返回值的不同,让他们各自执行同一段代码。

相关文章
|
3天前
|
消息中间件 算法 Linux
【Linux】详解如何利用共享内存实现进程间通信
【Linux】详解如何利用共享内存实现进程间通信
|
3天前
|
Linux
【Linux】命名管道的创建方法&&基于命名管道的两个进程通信的实现
【Linux】命名管道的创建方法&&基于命名管道的两个进程通信的实现
|
3天前
|
Linux
【Linux】匿名管道实现简单进程池
【Linux】匿名管道实现简单进程池
|
3天前
|
Linux
【Linux】进程通信之匿名管道通信
【Linux】进程通信之匿名管道通信
|
3天前
|
存储 Linux Shell
Linux:进程等待 & 进程替换
Linux:进程等待 & 进程替换
30 9
|
3天前
|
存储 Linux C语言
Linux:进程创建 & 进程终止
Linux:进程创建 & 进程终止
27 6
|
3天前
|
Linux 数据库
linux守护进程介绍 | Linux的热拔插UDEV机制
linux守护进程介绍 | Linux的热拔插UDEV机制
linux守护进程介绍 | Linux的热拔插UDEV机制
|
3天前
|
Unix Linux 调度
linux线程与进程的区别及线程的优势
linux线程与进程的区别及线程的优势
|
3天前
|
Linux 调度 C语言