进程优先级
进程优先级就是指一个进程对CPU资源获取的优先权(权级其实就是一个数字),优先权高的就会优先执行。
那么为什么要有进程优先级呢?
因为配置进程的优先权对于多任务环境的linux非常有用,可以大大改善系统性能。
通常情况下,我们较常遇见的有交互式进程和批处理进程。
交互式进程:直接与用户进行交互的进程
批处理进程:在后台默默做循环工作的进程
一般情况下,要求交互式进程优先级较高,能够更加优先的被CPU处理(如果不这样做,用户的一个操作可能会响应缓慢,体验效果较差)
因此,进程优先级最大的作用就是让操作系统运行的更加良好。
环境变量
环境变量就是指配置系统运行环境参数的变量,在操作系统中用来指定操作系统运行环境的一些参数。
举一个例子,在我们的C/C++当中,链接的时候我们不需要知道其动态库和静态库在哪里,但是依然可以链接成功,生成可执行程序。这其实就是有相关的环境变量帮助编译器进行查找。
也就是说环境变量能够使系统运行环境配置更加简单灵活,可以通过设置环境变量给一个进程传递参数信息
关于环境变量的基本操作
查看环境变量:env
set可以查看所有变量,包括环境变量
echo $NAME 可以查看指定的(NAME)环境变量
设置环境变量:export
删除环境变量:unset
在代码中环境变量的操作
-
main函数的第三个参数
int main(int argc, char* argv[], char* env[]);//env保存环境变量
for (i = 0; env[i] != NULL; i++) {
printf("env[%d]=[%s]\n", i, env[i]);
}
-
通过一个全局变量
extern char** environ;//environ保存环境变量
for (i = 0; environ[i] != NULL; i++) { printf("environ[%d]=[%s]\n", i, environ[i]); }
-
使用getenv
char* getenv(const char* name);//通过环境变量名称获取一个指定环境变量的数据
char *ptr = getenv("MYVAL");//MYVAL为环境变量名称 if (ptr != NULL) { printf("%s\n", ptr); }else { printf("have no this variable\n"); }