[Linux]命令行参数和进程优先级
[Linux]命令行参数和进程优先级
文章目录
- [Linux]命令行参数和进程优先级
- 命令行参数
- 命令行参数的概念
- 命令函参数的接收
- 编写代码验证
- 进程优先级
- 进程优先级的概念
- PRI and NI
- 使用top指令修改nice值
命令行参数
命令行参数的概念
命令行参数是指用于运行程序时在命令行输入的参数。
命令函参数的接收
C语言中main函数有两个参数用于接收命令行参数,分别是argc和argv,main函数的参数即使没有显式说明,编译器也会自动在编译是添加并且接收参数,只是不显式说明无法使用参数:
int main(int argc, char *argv[]);
在运行程序时需要在命令行输入参数,参数的本质就是字符串,在传入main函数前会以空格作为分割,然后分别传入。argc参数记录传入的参数个数,argv参数记录每一个参数的地址:

编写代码验证
编写如下代码验证main函数接受命令行参数:
#include <stdio.h>int main(int argc, char *argv[])
{int i = 0;for (i = 0; i < argc; i++){printf("argv[%d]->%s\n", i, argv[i]);}return 0;
}
编译成功后进行测试:

补充: 正是因为main函数能够接收命令行参数,才实现了使用Linux指令时添加选项的功能。
进程优先级
进程优先级的概念
进程的优先权是指cpu资源分配的先后顺序,优先权高的进程有优先执行权利。
进程优先级出现的原因:系统进程数目众多,而CPU资源只有少量,甚至1个,所以进程之间是具有竞争属性的。为了高效完成任务,更合理竞争相关资源,便具有了优先级。
PRI and NI
在Linux系统下输入ps -l查看系统进程的参数:

众多数据中和优先级有关的就是PRI和NI两个参数。
-
PRI :代表这个进程可被执行的优先级,其值越小越早被执行
-
NI :代表这个进程的nice值,其表示进程可被执行的优先级的修正数值
PRI = 优先级初始值 + nice值。
nice值的范围是[-20,19),如果某一进程的优先级过高或者过低可能会导致其他进程无法被调度或者自身无法被调度,因此nice值存在一个范围。
使用top指令修改nice值
编写以下代码用于nice值修改的测试:
#include <stdio.h>
#include <unistd.h>int main()
{while(1){printf(".");fflush(stdout);sleep(1);}return 0;
}
编译成功后运行,并另外打开两个终端,一个输入top指令,另一个输入ps -al指令:

在top进程中按下r:

在top进程中输入要修改nice至的进程id:

输入要修改的nice值:

使用ps -al指令查看:

由于初始值是80,nice值是10,因此最终PRI为90。
相关文章:
[Linux]命令行参数和进程优先级
[Linux]命令行参数和进程优先级 文章目录 [Linux]命令行参数和进程优先级命令行参数命令行参数的概念命令函参数的接收编写代码验证 进程优先级进程优先级的概念PRI and NI使用top指令修改nice值 命令行参数 命令行参数的概念 命令行参数是指用于运行程序时在命令行输入的参数…...
Android13新特性之通知权限提升
Android13新特性之通知权限提升 随着移动通信的高速发展,保障通信的安全性变得尤为重要。在Android 13的最新版本中,通知权限的管理得到了进一步加强。为了实现安全的通信和确保用户的隐私,必须正确申请通知权限。本文将详细探讨如何在Andro…...
206. 反转链表 (简单系列)
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head [1,2] 输出:[2,1] 示例 3: 输…...
攻防世界-Fakebook
原题 解题思路 点击join就可以进行注册 username看起来是个超链,点击跳转 在url里出现了no1,看起来可以注入,改成no1 and 12报错。本来想用sqlmap,可能是网速有问题,啥都没出来。no1order by 5报错,一共有…...
0基础入门C++之类和对象下篇
目录 1.再谈构造函数1.1构造函数赋值1.2初始化列表1.3explicit关键字 2.static成员2.1概念2.1静态成员变量2.2静态成员函数2.3特性 3.匿名对象4.友元函数4.1友元函数4.2友元类 5.内部类6.再次理解类和对象 1.再谈构造函数 首先我们先来回忆一下构造函数: 构造函数是…...
ECMAScript 2023
从尾到头搜索数组 在 JavaScript 中,通过 find() 和 findIndex() 查找数组中的值是一种常见做法。不过,这些方法从数组的开始进行遍历: const array [{v: 1}, {v: 2}, {v: 3}, {v: 4}, {v: 5}];array.find(elem > elem.v > 3); // {v:…...
爬虫实战之使用 Python 的 Scrapy 库开发网络爬虫详解
关键词 - Python, Scrapy, 网络爬虫 在信息爆炸时代,我们每天都要面对海量的数据和信息。有时候我们需要从互联网上获取特定的数据来进行分析和应用。今天我将向大家介绍如何使用 Python 的 Scrapy 库进行网络爬虫,获取所需数据。 1. Scrapy 简介 1.1 …...
【面试题】UDP和TCP有啥区别?
UDP UDP协议全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就…...
字节实习后端面试总结(C++/GO)
语言 C ++, Python 哪一个更快? 答:这个我不知道从哪方面说,就是 C + + 的话,它其实能够提供开发者非常多的权限,就是说它能涉及到一些操作系统级别的一些操作,速度应该挺快。然后 Python 实现功能还是蛮快的。 补充: 一般而言,C++更快一些,因为它是一种编译型语…...
linux 自动登录SSH
自动登录SSH 每次ssh连接服务器还要输入密码,可以进行配置自动登录SSH 步骤 在SSH的client端产生一组公钥和私钥 # 算法可以使用RSA和DSA两种ssh-keygen -f 秘钥文件名 -t 使用的算法 会生成私钥文件id_rsa以及公钥文件id_rsa.pub 把公钥上传至SSH Server端的.ssh目…...
量化:pandas基础
文章目录 简介Series构造 DataFrame构造列的查改增删填充默认值 简介 pandas是 Python 的核心数据分析支持库,提供了快速、灵活、明确的数据结构。 pandas主要的两种数据结构为Series和DataFrame,分别用于处理一维和二维数据。 Series Series 是一种类…...
华为云渲染实践
// 编者按:云计算与网络基础设施发展为云端渲染提供了更好的发展机会,华为云随之长期在自研图形渲染引擎、工业领域渲染和AI加速渲染三大方向进行云渲染方面的探索与研究。本次LiveVideoStackCon 2023上海站邀请了来自华为云的陈普,为大家分…...
SpringBoot注解详解:从核心到Web,从数据到测试,一网打尽
总结的了平时学习springboot常用的一些注解,方便以后开发时可以阅览回忆 springboot的常用注解可以分为以下几类: 核心注解:这些注解是springboot的基础,用于启动、配置和管理springboot应用。Web MVC注解:这些注解是…...
Java寻找奇数
1.题目描述 现在有一个长度为 n 的正整数序列,其中只有一种数值出现了奇数次,其他数值均出现偶数次,请你找出那个出现奇数次的数值。 输入描述: 第一行:一个整数n,表示序列的长度。第二行:n个…...
WinPlan经营大脑:精准预测,科学决策,助力企业赢得未来
近年,随着国内掀起数字化浪潮,“企业数字化转型”成为大势所趋下的必选项。但数据显示,大约79%的中小企业还处于数字化转型初期,在“企业经营管理”上存在着巨大的挑战和风险。 WinPlan经营大脑针对市场现存的企业经营管理难题,提供一站式解决方案,助力企业经营管理转型…...
多数据源切换以及事务处理
SpringBoot 多数据源切换(超级简单)_springboot数据源切换_Tz.的博客-CSDN博客 springboot dynamic多数据源demo以及常见切换、事务问题_一片星空~的博客-CSDN博客...
docker 重装提示 Exising installation is up to date 解决方法
Windows Docker 重装提示 Exising installation is up to date 解决方法 出现这个问题是因为卸载Docker没有卸载干净,导致无法重装 解决方法: 按下WindowR唤起命令输入界面,输入 regedit 打开注册表编辑在地址栏输入HKEY_LOCAL_MACHINE\SOFTW…...
k8s分散部署节点之pod反亲和性(podAntiAffinity)
使用背景和场景 业务中的某个关键服务,配置了多个replica,结果在部署时,发现多个相同的副本同时部署在同一个主机上,结果主机故障时,所有副本同时漂移了,导致服务间断性中断 基于以上背景,实现…...
大A的造血与吸血能力
由于大A持续不赚钱,玩家们就喜欢挑他的毛病,其中之一就是大A的持续吸血能力。网络上也已有人进行了相关统计,这里我想再次梳理。 造血能力 对2022年全部A股的披露数据进行汇总统计。我们重点关注经营性现金流、净利润、持续经营净利润、年度累…...
【数据库】使用ShardingSphere+Mybatis-Plus实现读写分离
书接上回:数据库调优方案中数据库主从复制,如何实现读写分离 ShardingSphere 实现读写分离的方式是通过配置数据源的方式,使得应用程序可以在执行读操作和写操作时分别访问不同的数据库实例。这样可以将读取操作分发到多个从库(从…...
Android tinyalsa深度解析之pcm_params_get_period_size_max调用流程与实战(一百七十二)
简介: CSDN博客专家、《Android系统多媒体进阶实战》作者 博主新书推荐:《Android系统多媒体进阶实战》🚀 Android Audio工程师专栏地址: Audio工程师进阶系列【原创干货持续更新中……】🚀 Android多媒体专栏地址&a…...
springboot+vue基于web的演唱会音乐会购票管理系统设计系统
目录同行可拿货,招校园代理 ,本人源头供货商系统功能模块分析技术架构设计核心业务流程安全防护措施项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作同行可拿货,招校园代理 ,本人源头供货商 系统功能模块分析 用户模块 注册登…...
保姆级教程:用OpenAI Whisper给视频自动生成字幕(附Python代码)
视频创作者必备:用Whisper打造高效字幕工作流 每次剪辑视频最头疼的就是加字幕?作为过来人,我完全理解那种对着时间轴逐帧调整的痛苦。直到发现Whisper这个神器,我的工作效率直接翻了三倍。今天就把这套全自动字幕生成方案完整分享…...
Qwen3.5-2B实战入门:20亿参数多模态模型图文对话快速上手指南
Qwen3.5-2B实战入门:20亿参数多模态模型图文对话快速上手指南 1. 认识Qwen3.5-2B Qwen3.5-2B是一款轻量级多模态基础模型,属于Qwen3.5系列的小参数版本(20亿参数)。这个模型特别适合在资源有限的设备上运行,比如个人…...
PasteMD模板功能详解:创建个性化转换规则
PasteMD模板功能详解:创建个性化转换规则 你是不是经常从AI对话或者网页上复制内容到Word时,格式总是乱七八糟?公式变成乱码,表格错位,代码块失去高亮?PasteMD就是专门解决这个问题的神器,而它…...
【ROS2 基础】ROS2与Colcon核心指令速查手册与避坑指南
为了在 ROS2 的日常开发中提升效率,本文为您整理了一份结构化的核心指令速查清单。去除了冗长的理论,直击实战痛点,并附带了多平台差异、性能优化数据以及常见报错的修复方案。 文章目录[TOC]一、 快速入门:3步跑通基础流程二、 版…...
Phi-3-mini-128k-instruct快速部署:Anaconda环境配置与模型调用详解
Phi-3-mini-128k-instruct快速部署:Anaconda环境配置与模型调用详解 你是不是也遇到过这种情况:看到一个很酷的AI模型,想赶紧试试,结果被各种环境依赖、版本冲突搞得头大?别担心,今天咱们就来搞定Phi-3-mi…...
程序实现环境温度对传感器的误差补偿,不同温度下测量精度一致,颠覆温漂难题。
无论你是做工业传感还是消费电子,只要你测物理量(电压、电流、压力、流量),温度就是精度的头号杀手。今天我们用 Python 打造一套自适应温度补偿系统,让仪器在不同温度下“不忘初心”。一、 实际应用场景描述 (Scenari…...
怎样避免网站因 SEO 优化而被搜索引擎惩罚
<h2>怎样避免网站因 SEO 优化而被搜索引擎惩罚</h2> <p>在当今数字化时代,搜索引擎优化(SEO)已经成为了任何网站想要获得流量和提升知名度的关键因素。SEO 优化的过程并不是一帆风顺,特别是在过度优化时&#x…...
AI读脸术备份恢复指南:手把手教你搭建高可用人脸识别服务
AI读脸术备份恢复指南:手把手教你搭建高可用人脸识别服务 1. 项目背景与需求分析 人脸识别技术已经成为现代数字服务的重要组成部分,从电商个性化推荐到智能安防系统,都依赖这项技术的稳定运行。AI读脸术镜像基于OpenCV DNN深度神经网络构建…...
