当前位置: 首页 > news >正文

网站建设属于什么职位类别网站主机租用多少钱

网站建设属于什么职位类别,网站主机租用多少钱,意大利 网站设计,网站备案号信息查询目录 进程的优先级 基本概念 如何查看优先级 PRI与NI NI值的设置范围 NI值如何修改 修改方式一 : 通过top指令修改优先级 修改方式二 : 通过renice指令修改优先级 进程的四个重要概念 环境变量 基本概念 常见的环境变量 查看环境变量 三种…

目录

进程的优先级

基本概念

如何查看优先级

PRI与NI

NI值的设置范围

NI值如何修改

修改方式一 : 通过top指令修改优先级

修改方式二 : 通过renice指令修改优先级

进程的四个重要概念

环境变量

基本概念

常见的环境变量

查看环境变量

三种环境变量的作用(不建议修改)

PATH

方式一: 将我们的可执行文件放到PATH路径中

方式二: 将我们当前的路径加入到PATH路径当中

HOME

SHELL

环境变量相关指令

 环境变量的组织方式

 main函数的参数

通过系统函数来获取环境变量


进程的优先级

基本概念

  1. 什么是进程优先级?

cpu资源分配的先后顺序 就是指进程的优先权(priority)

  1. 优先级存在的原因?

优先级存在的原因 本质上是因为资源的不足 在系统中表现为有多个进程却只有一个cpu

如何查看优先级

我们可以使用ps -l指令来查看进程

ps -l

  • UID 执行者的身份ID
  • PID 代表进程的代号
  • PPID 代表父进程的代号
  • PRI 代表进程的优先级
  • NI 代表这个进程的nice值 用来修正进程的优先级

PRI与NI

  • PRI 是进程的优先级 就是(轻量级)进程被CPU执行的先后顺序 此值越小进程的优先级别越高
  • NI 表示进程可被执行的优先级的修正数值
  • PRI和NI值的关系符合下面的公式 PRI(new) = PRI (old)+ NI
  • 当NI值为负值的时候 那么该程序将会优先级值将变小 优先级会变高
  • 调整进程优先级 就是调整进程的nice值
  • nice的取值范围是 -20~19 一共四十个值

在Linux系统中 PRI(old)值默认为80 所以说Linux中 优先级为 PRI(new) = 80 + NI

NI值的设置范围

NI 的设置范围是固定的 必须是 -20~19 如果超出这个值 则设定的nice值会变为最接近这个区间的值

如果设定NI值为 -100 则它的值会被设置为 -20

如果设定NI值为100 则它的值会被设置为19

为什么NI值的范围被设置成这样子

因为操作系统要尽量保证每个进程的公平运行 如果我们可以随意将进程的优先级设置的很低那么操作系统就会倾向于执行这个进程 从而导致其他进程不能被很好的被cpu执行 所以说PRI值最好是在一个范围中

NI值如何修改

修改方式一 : 通过top指令修改优先级

top命令就相当于任务管理器

我们调用top命令之后会出来这样子的界面

按住 r 键 就可以输入需要调整NI值的进程PID

 

输入PID之后回车 再输入NI值

 

输入修改的NI值为15之后回车 按住q键 退出top

 

 这是因为6646是5850的子进程 会继承父进程的代码和数据

修改方式二 : 通过renice指令修改优先级

指令为renice + NI值 + 进程号

 普通用户如果想要renice 需要使用sudo指令 临时提升权限

进程的四个重要概念

  • 竞争性: 系统进程数目众多 而CPU资源只有少量 甚至1个 所以进程之间是具有竞争属性的 为了高效完成任务 更合理竞争相关资源 便具有了优先级
  • 独立性: 多进程运行 需要独享各种资源 多进程运行期间互不干扰
  • 并行: 多个进程在多个CPU下分别 同时运行 
  • 并发: 多个进程在一个CPU下采用进程切换的方式 在一段时间之内 让多个进程都得以推进 称之为并发

环境变量

基本概念

环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数

由于它是在操作系统中的 所以一般是全局变量

常见的环境变量

  • PATH: 指定命令的搜索路径
  • HOME: 指定用户的主工作目录(即用户登录到Linux系统中的默认所处目录)
  • SHELL: 当前Shell,它的值通常是/bin/bash

查看环境变量

echo $PATH

三种环境变量的作用(不建议修改)

PATH

为什么我们系统的可执行文件我们就可以直接执行 而我们自己编译的可执行文件却不可以

这个就是因为环境变量PATH的存在

自己的可执行文件之所以要指定位置的就是因为它们不在PATH路径中

方式一: 将我们的可执行文件放到PATH路径中

方式二: 将我们当前的路径加入到PATH路径当中

export PATH=$PATH:路径

HOME

SHELL

Linux操作系统当中所敲的各种命令 实际上需要由命令行解释器进行解释 而在Linux当中有许多种命令行解释器(例如bash、sh) 我们可以通过查看环境变量SHELL来知道自己当前所用的命令行解释器的种类

我们查看SHELL使用如下命令

环境变量相关指令

env : 显示所有环境变量

set : 显示本地定义的shell变量和环境变量

unset :清除环境变量

 

 

 环境变量的组织方式

在linux中 环境变量是通过一张表组织起来的 如果我们使用c语言的知识去理解的话其实就是环境变量表就是一个二级指针

它指向一个一级指针数组 这里面放置着各种环境变量 最后的环境变量是NULL

 main函数的参数

main函数是有参数的

它一共有三个参数 分别是 argc argv envp

其中argv是一个指针 它指向一个数组 里面储存的是char*类型的数据
argc是一个整数 它标识着argv中有效元素的个数

下面的代码来验证

 int main(int argc, char* argv[])
{if(argc != 2)                                                                                                                                                                                              {    printf("Usage: %s -[a|h]\n", argv[0]);    return 1;    }    if(strcmp(argv[1], "-h") == 0)    {    printf("hello world\n");    }    else if(strcmp(argv[1], "-a") == 0)    {    printf("hello all\n");    }    else    {    printf("hello\n");    } return 0;
}

 

 可以通过边里获取环境变量

int main(int argc, char* argv[], char* env[])
{for(int i = 0; env[i]; ++i)                                                                                                                                                                                {      printf("%d->%s\n", i, env[i]);      }  return 0;
}

 还可以直接用二级指针 environ来获取环境变量

注意 libc 中定义的全局变量environ指向环境变量表 environ没有包含在任何头文件中 所以在使用时要用extern进行声明

extern char** environ;                                                                                                                                                                                     
for(int i = 0; environ[i]; i++)      
{      printf("%d->%s\n", i, environ[i]);     
}

通过系统函数来获取环境变量

可以使用getenv系统函数来查看环境变量

printf("PATH: %s\n", getenv("PATH"));                                                                                                                                                                      
printf("HOME: %s\n", getenv("HOME"));  
printf("SHELL: %s\n", getenv("SHELL"));

http://www.yayakq.cn/news/635383/

相关文章:

  • 湛江网站建设产品优化去哪里弄Wordpress
  • 微友说是做网站维护让帮忙投注查询网站备案密码是什么样的
  • 空间网站建设百度q3财报减亏170亿
  • 文化网站策划山东诚祥建设集团公司网站
  • 网站架构设计英文翻译android移动网站开发详解
  • 网站开发加盟新乡建设网站公司
  • 怎么做让自己的网站怎么看网站的建站公司是哪个
  • 上海网站开发方案深圳前十网站扩广公司
  • 上传的网站打不开杭州python做网站
  • 自己做APP需要网站吗中企动力口碑怎么样
  • win8风格网站模板百度学术官网论文查重免费
  • 服务器网站建设教程视频教程wordpress 4.7.9漏洞
  • 在线做效果图的网站有哪些app开发公司有什么部门
  • 烟台网站制作公司WordPress js木马
  • 合肥网站seo报价网站建设app开发 微信小程序 网站开发 自动脚本
  • 建设银行的网站怎么打开小程序开发教程 pdf
  • 百度站长号购买东莞市官网网站建设企业
  • 义乌网站建设多少钱aso优化的主要内容为
  • 东莞企业自助建站系统大连响应式网站
  • 支付网站建设专门做外链的网站
  • 建设机械网站案例分析家装公司需要装修资质吗
  • 网站计数代码郑州网站建设e橙网
  • 余姚专业做网站公司厦门关键词seo排名网站
  • 网站风格定位有哪些网页制作模板田田田田田田田田田田田田田田
  • 网站建设 博贤科技wordpress做表格查询
  • 建设部监理工程师报考网站朝扬网络
  • 企业网站建设目的选择题优化方案2021版英语答案
  • 国内做贵金属返佣比较多的网站网页制作与网站开发
  • 网上怎样做电缆网站网站开发需求文档
  • 滕州个人兼职做网站创建自己的网页