| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Linux 中的 renice 命令详解及C/C++代码实现 -> 正文阅读 |
|
[系统运维]Linux 中的 renice 命令详解及C/C++代码实现 |
Linux 中的 nice 命令有助于执行具有修改的调度优先级的程序/进程。 它启动具有用户定义的调度优先级的进程。 如果我们给一个进程更高的优先级,那么内核会为这个进程分配更多的 CPU 时间。 而 renice 命令允许您更改和修改已运行进程的调度优先级。 什么是进程 简而言之,进程是 Linux 用来承担运行程序角色的命名约定。 进程是规则的集合,任何特定程序通过这些规则使用分配的处理器时间、内存和 I/O 资源。 Linux 系统上运行的每个进程都有自己的进程 ID (PID),通过它可以对其进行监视和管理。 Linux内核旨在收集有关每个进程的各种信息。 这些包括但不限于:
现在我们对流程有了一些了解,我们可以继续创建一些流程。 为此,只需打开终端并在后台执行 yes 命令并将其输出重定向到 /dev/null:
进程的生命周期 Linux 进程管理的基本原则在创建新进程时包含两个不同的操作。 该操作是进程通过 fork() 调用复制自身的地方,从而创建一个具有唯一 PID 的新进程。 fork 操作最常见的是执行新程序的 exec() 操作。 在引导期间创建的第一个进程是 init,它始终分配 PID 1。所有其他进程都被视为 init 进程的子进程。 通常情况下,在子进程允许死亡之前,此事件需要由父进程通过发送退出值来确认。 成功终止发送父进程值 0。如果由于某种原因子进程超过父进程 init 将接受此进程作为孤立进程。 renice命令的使用 我们可以利用 renice 命令在进程运行时更改 niceness。 要查看语法,我们将传递 –h 选项: renice 命令可以应用于进程、进程组或用户(目标)。 特权用户可以更改其他用户进程的优先级。 对于普通用户,优先级必须介于 0 和环境变量 PRIO_MAX(通常为 20)之间,数字越大表示友好度越高。 较高的 niceness 值意味着进程将以较低的优先级运行。 特权用户可以设置一个负优先级,低至 PRIO_MIN(通常为 -20),以加快进程。 请参阅 nice 命令以在初始运行时设置进程的调度优先级。
要更改它的值,我们可以使用 renice 命令并提供 PID 和 nice 值。 让我们将 nice 值更改为 15: 要遵循的规则是,非超级用户只能为任何进程增加 nice 值(给予较低的优先级)。 如果现在尝试将 nice 值从 15 更改为 10,则会出现以下错误:
renice 命令还使 root 用户能够更改任何用户进程的 nice 值。 这是通过 -u 开关完成的。 以下 linux 命令将所有用户进程的优先级更改为 -19。 Linux renice命令C/C++实现
运行结果:
总结 本篇讲解如何使用 renice Linux 命令更改进程的优先级值。更多了解请参考man手册。 欢迎关注微信公众号【程序猿编码】,需要renice命令完整源码的添加本人微信号(c17865354792) |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 11:41:27- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |