浅学进程
本周进行了对于进程的学习,我有了很多的收获和感悟,在这里浅浅总结和分享一下。
一、进程的概念
进程就是正在运行的程序,它和程序不同,它是一个动态过程,并且进程是程序进行和资源管理的最小单位。
二、进程的分类
进程可以分为三大类,分别是交互式进程、批处理进程以及守护进程。
- 交互式进程是我们经常使用的一种进程,它可以在前台和后台都可以运行。
- 批处理进程通常不与用户进行交互,因此多在后台运行。
- 守护进程一直在后台运行,和任何终端都不关联。通常系统启动时开始执行,系统关闭时才结束。
三、进程的状态
进程的状态分为5个状态,分别是运行态、等待态、停止态、死亡态、僵尸态。
四、进程的相关函数
1.创建进程
fork()函数与vfork()函数
2.进程退出
exit()函数和_exit()函数
3.回收内核资源
wait()函数和waitpid()函数
4.exec函数族
execl()、execv()、execve()、execlp()、execle()和execvp()。
5.守护进程 的创建
注意:1.1为程序,其他均为函数格式。
1.1创建子进程,父程序退出(子进程成为后台程序)
if(fork() > 0)
{
exit(0);
}
1.2设置新的会话
#include <sys/types.h>
#include <unistd.h>
pid_t setsid(void);
1.3设置工作目录
#include <unistd.h>
int chdir(const char *path);
1.4设置文件掩码
#include <sys/types.h>
#include <sys/stat.h>
mode_t umask(mode_t mask);
1.5关闭从父进程继承下来的文件描述符
#incldue <unistd>
int getdtablesize(void);
1.6周期性执行任务
这里也就是设置一个循环。
总结
这次的分享就到这了。