前言:
目录
在这个笔记中,我把大多数代码都加了注释,我的一些想法和注解用蓝色字体标记了出来,重点和需要关注的地方用红色字体标记了出来。
这一部分的笔记是以电子科技大学慕课《Linux操作系统编程》为基础写的。
在这一篇文章中,我们主要介绍一些常用的Linux命令。
正文:
1. 程序和进程的区别
程序是一个包含可执行代码的文件,它放在磁盘等介质上。
当程序被操作系统装载到内存并分配给它一定资源后,此时可称为进程。
程序是静态概念,进程是动态概念。
2. 进程控制类命令
1、ps命令
命令名称:ps
命令英文原意:processstatus
功能描述:ps命令用来显示系统瞬间的进程信息,它可以显示出在用户输入ps命令时系统的进程及进程的相关信息
语法:ps [参数]
-l:长格式输出
-u:按用户名和启动时间的顺序来显示进程
-j:用任务格式来显示进程
-f:用树形格式来显示进程
-a:显示所有用户的所有进程(包括其他用户)
-x:显示无控制终端的进程
-r:显示运行中的进程
示例:
ps -aux输出的东西实在是太多了,就不完全截图了
ps -aux |grep pp(查找pp用户的进程)
查找我的进程果然少一些
2、top命令
命令名称:top
功能描述:动态监视系统任务的工具,输出结果是连续的
语法:top [参数]
-b:以批量模式运行,但不能接受命令行输入
-c:显示命令行,而不仅仅是命令名
-d:N显示两次刷新时间的间隔,比如-d 5,表示两次刷新间隔为5秒
-i:禁止显示空闲进程或僵尸进程
-n:NUM显示更新次数,然后退出,比如-n 5,表示top更新5次数据就退出
-p:PID仅监视指定进程的ID;PID是一个数值
-q:不经任何延时就刷新
-s:安全模式运行,禁用一些交互指令
-S:累积模式,输出每个进程的总的CPU时间
示例:
如图所示,总共更新了5次,每次都间隔了5秒
3、kill命令
命令名称:kill
功能描述:该命令用于向某个进程(通过PID标识)传送一个信号,它通常和ps以及jobs命令一起使用
语法:kill -signal PID
通常的signal参数如下
1:SIGHUP,启动被终止的进程
2:SIGINT,相当于输入ctrl+c,中断一个程序的进行
9:SIGKILL,强制中断一个进程的进行
15:SIGTERM,以正常的结束进程方式来终止进程
17:SIGSTOP,相当于输入ctrl+z,暂停一个进程的进行
示例:
以正常的结束进程方式来终止第一个后台工作进程:
kill -SIGTERM %1
重新启动进程ID为PID的进程:
kill -SIGHUP PID
4、killall命令
命令名称:killall
功能描述:此命令使用进程的名称来杀死进程,使用此指令可以杀死一组同名进程。
同样也可以杀死指定进程PID的进程,如果要根据进程名称找到需要杀死的进程,还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一
语法:killall [参数] <正在运行的进程名>
-e:对长名称进行精确匹配
-I:忽略大小写的不同
-p:杀死进程所属的进程组
-i:交互式杀死进程,杀死进程前需要进行确认
-l:打印所有已知信号列表
-q:如果没有进程被杀死,则不输出任何信息
-r:使用正则表达式匹配要杀死的进程名称
-s:用指定的进程号代替默认信号“SIGTERM”
-u:杀死指定用户的进程
示例:
killall homework
如图,我准备交互式关掉awake这个用户的进程
在敲下y之后,我成功地完成了系统地崩溃
重新打开花了一些时间,我一度以为再也打不开了
5、nice命令
命令名称:nice
功能描述:nice命令允许在默认优先级的基础上进行增大或减小的方式来运行命令
语法:nice [参数] <command[arguments...]>
command是系统中任意可执行文件的名称
-n,-adjustment指定程序运行优先级的调整值
优先级的调整值范围为-20~19,其中数值越小优先级越高,数值越大优先级越低
若nice命令未指定优先级的调整值,则以缺省值10来调整程序运行优先级,即在命令通常运行优先级基础上增加10
示例:
nice -n -5 myprogram&
在后台以通常运行优先级-5的优先级运行myprogram
6、renice命令
命令名称:renice
功能描述:改变一个正在运行的进程的nice值
语法:renice [参数] <pid>
-n指定程序运行优先级的调整值
示例:
renice -5 114514
将正在运行的PID为114514的进程nice值改为-5
后记:
最近都没怎么写博客,去打比赛去了~
感谢大家读到这里,下一篇再见吧~