Linux进程----环境变量与程序地址空间

这篇博客详细介绍了Linux中的环境变量,包括其基本概念、常见环境变量、设置与查看方法,以及环境变量如何被子进程继承。此外,还探讨了程序地址空间,解析了进程虚拟地址空间的概念,讲解了存储器管理方式如分页、分段和段页式,以及进程优先级的原理。
摘要由CSDN通过智能技术生成

环境变量

一、基本概念
  1. 一般是指在操作系统中用来指定操作系统运行环境的一些参数;
  2. 环境变量通常具有某些特殊用途,还有在系统当中通常具有全局特性。
二、常见环境变量
  1. PATH:查看可执行程序的环境变量;
  2. HOME:指定用户的主工作目录;
  3. SHELL:保存当前所使用的shell得到的环境变量,它的值通常是/bin/bash;
  4. LD_LIBRARY_PATH:程序运行时,库文件的搜索路径的环境变量;
  5. LIBRARY_PATH:程序编译时,库文件的搜索路径和环境变量。
三、常见指令
  1. echo $[变量名]:显示某个环境变量值。
  2. 在文件中修改环境变量:
    ①vim ~/.bash_profile
    ②source [修改过的环境变量文件] :在文件中修改的设置时永久生效的,需要重新加载已修改过的环境变量;
  3. 在命令行中修改环境变量只在当前bash下有用:
    ①export [环境变量名] = 环境变量值
    ②export [环境变量名] = $[环境变量名] : [新增的环境变量]。
  4. env:显示所有环境变量及其值。
    当前用户的环境变量:~/.bashrc ~/.bash_profile
  5. set:显示本地定义的shell变量和环境变量。
    系统下的环境变量:/etc/bashrc
  6. readonly:将环境变量设为只读状态。
  7. unset [环境变量名]:清除环境变量。
四、组织方式

在这里插入图片描述
每个程序都会收到一张环境表,环境表是一个字符指针数组,每个指针指向一个以’\0’结尾的环境字符串

五、通过代码获取环境变量
  1. 命令行参数
#include <stdio.h>
int main(int argc, char* argv[], char* env[])  //argc为命令行参数的个数
{
   
	int i = 0;
	for (; i < argc; i++)
		printf("argv[%d] = [%s]\n", i, argv[i]);
	for (i = 0; env[i]; i++)
		printf("env[%d] = [%s]\n", i, env[i]);
	return 0;
}
  1. 第三方变量environ获取
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值