网站建设教育机构,h5网站开发流程图,给手机做网站的公司有哪些,access数据库网站开发Linux进程概念—环境变量1.孤儿进程2.环境变量2.1常见环境变量2.2查看环境变量方法2.3在环境变量中添加2.4和环境变量相关的命令2.5环境变量的组织方式2.6命令行参数#x1f31f;#x1f31f;hello#xff0c;各位读者大大们你们好呀#x1f31f;#x1f31f; #x1f68…
Linux进程概念—环境变量1.孤儿进程2.环境变量2.1常见环境变量2.2查看环境变量方法2.3在环境变量中添加2.4和环境变量相关的命令2.5环境变量的组织方式2.6命令行参数hello各位读者大大们你们好呀 系列专栏【Linux的学习】 本篇内容孤儿进程环境变量 ⬆⬆⬆⬆上一篇string类下 作者简介轩情吖请多多指教( •̀֊•́ ) ̖́- 1.孤儿进程
父进程退出子进程会被OS自动领养通过1号进程成为新的父进程如果不领养会在后续子进程退出时无人回收了
写一份代码如上 在makefile文件当中可以进行简写$ 表示的是目标文件也就是practice$^表示的是依赖文件也就是practice.c 在杀掉父进程后子进程的父进程变成了1号进程
2.环境变量
环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数 环境变量在系统当中通常具有全局特性
2.1常见环境变量
PATH指定命令的搜索路径 HOME指定用户的主工作目录 SHELL当前shell它的值通常为/bin/bash
2.2查看环境变量方法
echo $NAME//NAME你的环境变量名称
2.3在环境变量中添加
export PATH$PATH:xxx 可以看见把当前路径添加到PATH中后可以直接运行practice程序本质上添加到环境变量中后当使用practice时系统会去PATH中的路径下找对应的practice并且因为有全局特性1不在需要./
2.4和环境变量相关的命令
①echo显示某个环境变量值 ②export设置一个新的环境变量 val还有其他的一些特性具体的后面再讲 ③env显示所有的环境变量 ④unset清除环境变量 ⑤set显示本地定义的shell变量和环境变量 这个也有所涉及到后面的知识后面再讲
2.5环境变量的组织方式
不知道大家有没有见过main函数的参数 int main(int argc,char* argv[],char* envp[]) 每个程序都会收到一张环境变量表环境变量表就是一个字符指针数组每个指针指向一个以‘\0’结尾的环境字符串其中envp就是一个字符指针数组就是环境变量表 可以看到把环境变量全部打印出来 还有一个方法是使用environ libc中定义的全局变量environ指向环境变量表environ没有包含在任何头文件中所以说在使用时要用extern声明 在Linux中把可执行程序拷贝到系统默认路径下让我们直接访问的方式相当于Linux下软件的安装。
也可以使用getenv系统调用来获取环境变量 环境变量本质就是一个内存级的一张表这张表由用户登录系统的时候进行给特定用户形成属于自己的环境变量表 每个环境变量都有自己的特定的应用场景 每一个元素都是kv的有自己的名字和内容 环境变量对应的数据从系统的相关配置文件中读取进来的.bash_profile .bashrc 环境变量通常是具有全局属性的可以被子进程继承下去的 如果没有export命令行定义的就是本地变量只在shell内部有效不会被子进程继承使用export的目的是为了把变量放进环境变量表中但是不管本地变量还是环境变量都被shell记录了下来 可以看到在命令行定义的变量使用env查看时并没有显示但是使用export声明后就能查看到在环境变量表中
2.6命令行参数 argv本质上也是一个表由bash制作这个表实际上就是为了方便使用命令行参数 举一个栗子来更好地理解它 其本质上命令行上输入的就是一串字符串一个是可执行程序后面的就是参数选项平常我们使用的命令以及命令选项都是这样实现的。 环境变量的知识大概就讲到这里啦博主后续会继续更新更多Linux的相关知识干货满满如果觉得博主写的还不错的话希望各位小伙伴不要吝啬手中的三连哦你们的支持是博主坚持创作的动力