【操作系统---6】进程和环境变量相关

进程查看命令:

		ps命令

		ps -aux	查看所有进程信息	vsz虚拟内存	rss物理内存

		ps -ef	PPID 父进程信息	TTY终端信息

		pid_t pid =getpid();		获取调用进程ID	pid_t是int类型的数字

		/proc/	根目录下的进程目录

进程创建:

		fork	用于创建一个子进程---通过复制调用进程创建新进程

		子进程和父进程运行的代码一模一样,打印内容一样但是是不同的进程打印的

		创建子进程的意义:		1.分摊任务处理压力	

							2.让子进程完成其他任务---背锅
					
							处理任务有风险,子进程如果崩溃就在创建一个,提高稳定性

Q:如何在子进程完成其他任务?

A:分辨出父子进程—fork中对于父进程返回的是子进程的PID,失败返回-1,对于子进程来说,返回的是0

复制:操作系统通过复制父进程创建子进程,因此父子进程数据独有!!!,代码共享

进程状态:

		运行、就绪、阻塞	

Linux下:

		运行:R	task Running 		拿到时间片就可以运行
		
		可中断休眠:Sleeping			能够被简单的操作唤醒
				
		不可中断休眠:Disk Sleeping	需要特定的方式才能唤醒
		
		停止:T 	Stopped				什么工作都不干,用kill杀不死这个进程
		
									kill -18 PID	唤醒后杀  kill-9 PID  强杀
									
		僵死:
					
				僵尸进程:	处于僵死状态的进程	kill -9	也杀不死僵尸进程	
				
							子进程先于父进程退出,操作系统保存着退出原因---操作系统无法回收资源

							通知父进程获取退出原因,允许操作系统释放资源,但是父进程没有关注这个

							通知导致进程退出后无法释放所有资源,处于僵死状态变为僵尸进程
							
				危害:资源泄漏
				
				如何避免---进程等待
						
				处理方式---把父进程杀死的情况下僵尸进程也消失了		

						  父进程都已经退出了操作系统保留原因没有意义
						  
		孤儿进程:	父进程先于子进程退出---子进程会在后台运行,因为还能联系到终端
		
					ctrl+c	针对是前台进程	带+号,不带+号就是后台进程
					
					1就是孤儿院,父进程退出之后父进程变成1号进程		systemd
					
					这个时候退出子进程,不会变成僵尸进程,1号进程及时处理
					
		精灵进程/守护进程:	特殊的孤儿进程,父进程为1号的,都是守护进程		

						以d结尾---服务,后台服务

变量就是内存空间的别名~

环境变量:

储存系统运行环境变量参数的变量

查看环境变量的命令:

		env命令---查看环境变量

		set命令---也可以查看环境变量,也可以查看普通变量
					
				  shell中默认查找程序的路径就是在PATH中

		echo命令---也可以用来查看环境变量

PATH—以冒号间隔的路径—功能是指定可执行程序的路径

处于PATH路径下,运行程序,会在路径下查找,找到了会执行

常见的环境变量: HOME PWD SHELL PATH

$PATH 使用PATH变量中的内容

环境变量的特性:

		全局特性(继承)	
	
		export	声明或设置环境变量
	
		shell终端下的所运行的进程能够获取到所有的环境变量,但是获取不到普通变量
		也不可以获取到其他终端的环境变量
	
		getenv			通过环境变量的名称获取环境变量的内容	
	
		main函数的第三个参数中	int main(int argc ,char* argv[],char* env[])
	
		extern 声明,但不定义		extern char** environment	声明全局变量

声明使用的是库中的数据,人家定义好的 char就是用的自己的 就近

		unset		删除环境变量

环境变量的使用场景: 通常是父进程通过给子进程设置环境变量来达到向子进程传递数据的功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值