linux-进程环境

引言

进程是什么?
要理解进程,首先要从程序这个概念开始。程序是存储在磁盘上,为了完成某些任务的一系列指令的有序集合。
而进程,它是当程序执行时,加载到内存中的个体。
操作系统为进程分配独立内存资源,如虚拟地址空间、堆栈等,此外,操作系统在内核中为该进程创建管理节点PCB(进程控制块),以便于系统对其控制和调度。

环境变量

环境变量是运行某些程序所必须的环境配置。大多以键值对的形式存在于文件系统的/etc/profile文件中。
相关函数如下:

	函数声明:
	#include <stdlib.h>
	char *getenv(const char *name);
	int setenv(const char *name, const char *value, int rewrite);
	int unsetenv(const char *name);//删除name的定义。

进程标识

每个进程都有一个非负整型表示的唯一进程ID。类型为pid_t。
系统中有一些专用进程。例如ID为0的调度进程,ID为1的init进程。
init进程是由内核完成自举后调用的第一个进程,它以超级用户特权运行。
获取进程标识的函数:

获取进程ID号:
	#include <unistd.h>
	pid_t getpid(void);	
		返回调用进程的进程ID
	pid_t getppid(void);
		返回调用进程的父进程ID
	uid_t getuid(void);
		返回调用进程的实际用户ID
	uid_t geteuid(void);
		返回调用进程的有效用户ID
	gid_t getgid(void);
		返回调用进程的实际组ID
	gid_t getegid(void);
		返回调用进程的有效组ID

进程类型

  1. 交互进程
    和终端相关,如果终端关闭,进程消亡。既可以是前台(./a.out)也可以是后台(./a.out &)。前台进程既可以读也可以写,后台进程只能写数据
  2. 守护进程
    和终端不相关,只能是后台进程。
  3. 孤儿进程
    父进程退出、子进程被init进程收养
  4. 前台进程

进程状态

  1. R——Runnable(运行):正在运行或在运行队列中等待
  2. S——sleeping(中断):休眠中,受阻,在等待某个条件的形成或接收到信号
  3. D——uninterruptible sleep(不可中断):收到信号不唤醒和不可运行,进程必须等待直到有中断发生
  4. Z——zombie(僵死):进程已终止,但进程描述还在,直到父进程调用wait4()系统调用后释放
  5. T——traced or stoppd(停止):进程收到SiGSTOP,SIGSTP,SIGTOU信号后停止运行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值