进程的基础认识

进程作为程序执行和资源管理的最小单位,分为交互式、批处理和守护进程三类。守护进程常驻后台,系统启动时运行,关闭时结束。进程状态包括运行、等待、停止和死亡态。函数如fork、vfork、exit和_wait等用于进程管理。创建守护进程涉及会话设置、工作目录变更和文件描述符关闭等步骤。实例展示了守护进程如何每5秒将系统时间写入文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

           进程是动态的,它是程序执行的过程,正在运行的程序,是程序执行和资源管理的最小单位。每个进程都有独特资源空间,当进程创建时,os会为进程分配4G的进程空间,企鹅每个进程空间都有1G内核空间和3G用户空间。(内核空间资源,用户空间资源)

           进程分类:1.交互式进程:(经常使用),可以在前台运行,也可以在后台运行。

                             2.批处理进程:这类进程不必与用户进行交互,因此通常在后台运行。

                             3.守护进程:(重点)这类进程一直在后台运行,和任何终端都不关联。通常系统启动时开始执行,系统关闭时才结束。

            进程的状态:

                             1.运行态          2.等待态         3.停止态           4.死亡态          5.僵尸态

            进程的函数:

                              

                              1.fork()

                               

                             2.vfork()  

                             3.fork()和vfork()的区别

                                1. fork():子进程拷贝父进程的数据段,代码段。vfork():子进程与父进程共享数据段。

                                2.fork():父子进程的执行次序不确定。 vfork():保证子进程先运行,在调用exec或_exit之前与父进程数据是共享的,在它调用exec或_exit之后父进程才可能被调度运行。

                                 3.vfork()保证子进程先运行,在它调用exec或_exit之后父进程才可能被调度运行。如果在调用这两个函数之前子进程依赖于父进程的进一步动作,则会导致死锁。当需要改变共享数据段中变量的值,则拷贝父进程。

                             4.exit()和_exit()

                                    

                              5.wait()        阻塞等待子进程结束回收资源

                                     

                                  waitpid()        回收子进程资源

                                     

                              6.exec函数

                                        

            守护进程

                              特点:

                                     1.守护进程是Linux中三大进程之一,始终运行在后台,通常系统开启时运行,系统关闭时结束。

                                       2.独立于控制终端(与终端无关)

                                       3.周期性执行某种任务或等待某些发生的事件。

                              创建守护进程:

                                       1.创建子进程,父进程退出(子进程成为后台程序)

                                       2.设置新的会话

                                       3.设置工作目录

                                       4.重设文件掩码

                                       5.关闭从父进程继承下来的文件描述符

                                       6.周期性执行任务

             应用实例

                              创建一个守护进程将系统时间每隔5秒写入一个文件中

                                         

                                       

 

                              

                                      

 

 

 

                                   

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值