目录
实验名称:进程管理相关命令
实验目的:通过练习进程相关命令,能够使用命令查看linux的进程信息,并对进程进行管理。
实验内容:
1、将前台进程放入后台,并进行查看
2、启动一个后台进程,并进行查看
3、继续执行后台进行
4、在2022年5月15日 1:30 执行 :写入“process test”到 process_test.txt文件
5、在每周五的晚上11点半执行 :写入“process test”到 process_test.txt文件
6、结合grep,使用ps,lsof查看上一个定期任务,
7、修改上一个定期任务的优先级,再结束进程。
8、练习top,pstree等命令。
9、开启yum命令的特殊权限。
拓展实验:文件特殊权限再练习。
思考与讨论
1、top和ps的区别。
2、nice和renice的区别。
实验总结
实验名称:进程管理相关命令
实验目的:通过练习进程相关命令,能够使用命令查看linux的进程信息,并对进程进行管理。
实验内容:
1、将前台进程放入后台,并进行查看
当用户输入一个命令并运行,就已经启动了一个进程,而且是一个前台的进程,此时系统其实已经处于一个多进程的状态(一个是 Shell 进程,另一个是新启动的进程)。
进程在前台运行时按【Ctrl+Z】组合键,进程会被放入后台并被处于暂停状态。
jobs命令
jobs命令 查看从终端窗口放入后台的进程
格式:jobs [选项]
选项 含义
-l(L 的小写) 列出进程的 PID 号。
-n 只列出上次发出通知后改变了状态的进程。
-p 只列出进程的 PID 号。
-r 只列出运行中的进程。
-s 只列出已停止的进程。
2、启动一个后台进程,并进行查看
后台启动:
功能:将命令放入Bash后台运行而不影响终端窗口
在命令结尾输入“&”符号即可,通过“&”放入后台的进程仍然处于运行状态
由于后台进程2已完成,只能查到进程1。
3、继续执行后台进行
bg 命令
功能:使后台暂停的进程重新开始运行
格式:bg %工作号
4、在2022年5月15日 1:30 执行 :写入“process test”到 process_test.txt文件
at命令
功能:设置在指定的时间执行某个一次性任务
格式:at [选项] [时间]
时间参数是计划任务的执行时间,可以采用下列时间格式的任何一种
- HH:MM [ am|pm] [Month] [Date] [Year],如11:10 am Jan 18 2022
- HH:MM YYYY-MM-DD,如11:10 2022-01-18
- MMDDYY、MM/DD/YY,表示指定日期的当前时刻,如011822、01/18/22
- 特定时间:如now表示当前时刻,noon代表12:00 pm,midnight代表12:00 am,Teatime代表4:00 pm
- time + n [minutes | hours | days | weeks],表示在某个时间点之后某一时刻执行,如now + 3 hours表示当前时刻的3小时后
先修改系统时间为2022年5月15日 1:30左右
5、在每周五的晚上11点半执行 :写入“process test”到 process_test.txt文件
crontab 命令
功能:设置需要周期执行的任务
格式:crontab [选项] [file]
选项
功能
-u user
用来设定某个用户的 crontab 服务,例如 "-u demo" 表示设备 demo用户的 crontab 服务,此选项一般有 root 用户来运行。
-e
编辑某个用户的 crontab 文件内容。如果不指定用户,则表示编辑当前用户的 crontab 文件。
-l
显示某用户的 crontab 文件内容,如果不指定用户,则表示显示当前用户的 crontab 文件内容。
-r
从 /var/spool/cron 删除某用户的 crontab 文件,如果不指定用户,则默认删除当前用户的 crontab 文件。
-i
在删除用户的 crontab 文件时,给确认提示。
当我们执行“crontab -e”命令时,打开的是一个空文件,操作方法和 Vim 一致。
*(星号)
代表任何时间
第一个"*" 一小时当中的第几分钟(minute) 0~59
第二个"*" 一天当中的第几小时(hour) 0~23
第三个"*" 一个月当中的第几天(day) 1~31
第四个"*" 一年当中的第几个月(month) 1~12
第五个"*" 一周当中的星期几(week) 0~7(0和7都代表星期日)
,(逗号)
代表不连续时间。 -(中杠)
代表连续的时间范围。
/(正斜线)
代表每隔多久执行一次。
6、结合grep,使用ps,lsof查看上一个定期任务,
ps命令
功能:查看系统中当前有哪些进程,选项非常多
只能显示系统进程的静态信息
建议记忆固定选项:
"ps aux" 可以查看系统中所有的进程;
"ps -le" 可以查看系统中所有的进程,而且还能看到进程的父进程的 PID 和进程优先级;
"ps -l" 只能看到当前 Shell 产生的进程;
a
显示现行终端机下的所有程序,包括其他用户的程序
e
列出程序时,显示每个程序所使用的环境变量
-f
显示UID,PPIP,C与STIME栏位
f
用ASCII字符显示树状结构,表达程序间的相互关系
-j
采用工作控制的格式显示程序状况
-l
采用详细的格式来显示程序状况
L
列出栏位的相关信息
u
以用户为主的格式来显示程序状况
x
显示所有程序,不以终端机来区分
lsof命令
功能:列出进程调用信息
lsof [选项]
选项
功能
-c 字符串
只列出以字符串开头的进程打开的文件。
+d 目录名
列出某个目录中所有被进程调用的文件。
-u 用户名
只列出某个用户的进程打开的文件。
-p pid
列出某个 PID 进程打开的文件。
7、修改上一个定期任务的优先级,再结束进程。
nice命令
功能:设置进程的优先级(不能修改已运行进程的 NI 值)
每个进程都有优先级,优先级越高,表示进程越有可能获得CPU的使用权
进程的优先级用nice值表示,取值范围是-20~19,默认值为0,数字越大表示优先级越低
8、练习top,pstree等命令。
top命令
功能:查看进程信息的动态变化,默认每隔3秒刷新一次
格式:top [-bcHiOSs]
上半部分显示操作系统当前的进程统计信息与资源使用情况,包括任务总数及每种状态下的任务数,CPU、物理内存和虚拟内存的使用情况等。
下半部分是每个进程的资源使用情况。
PID:进程的 ID。
USER:该进程所属的用户。
PR:优先级,数值越小优先级越高。
NI:优先级,数值越小、优先级越高。
VIRT:该进程使用的虚拟内存的大小,单位为 KB。
RES:该进程使用的物理内存的大小,单位为 KB。
SHR:共享内存大小,单位为 KB。
S:进程状态。
%CPU:该进程占用 CPU 的百分比。
%MEM:该进程占用内存的百分比。
TIME+:该进程共占用的 CPU 时间。
COMMAND:进程的命令名。
pstree 命令
功能:查看进程间的相关性和依赖关系
格式:pstree [选项] [PID或用户名]
选项
含义
-a
显示启动每个进程对应的完整指令,包括启动进程的路径、参数等。
-c
不使用精简法显示进程信息,即显示的进程中包含子进程和父进程。
-n
根据进程 PID 号来排序输出,默认是以程序名排序输出的。
-p
显示进程的 PID。
-u
显示进程对应的用户名称。
9、开启yum命令的特殊权限。
特殊权限
特殊权限有三位:用户置位s(SUID)、组置位s(GUID)和粘着置位t(Sticky)
设置方法:
- 数字形式修改权限时setuid、setgid、sticky的八进制位分别是4000、2000、1000。
- 字母形式则分别为u+s,g+s,o+t,(删除标记位是u-s,g-s,o-t)
表示上有大小写之分
- 如果同时开启执行权限和特殊权限,则权限表示字符是小写。
- 如果关闭执行权限,开启特殊权限,则权限表示字符是大写。
拥有特权的含义:
- suid/sgid程序:当SUID位被设置时,进程继承了命令拥有者的权限。
- 程序的t属性:内存中保存一份运行程序的备份
- 目录的s属性:在该目录下创建的任何文件及目录属于该目录所拥有的组。
- 目录的T属性:设置了目录的T属性后1000,由只有该目录的所有者及root才能删除该目录, 如/tmp目录就是drwxrwxrwt。
拓展实验:文件特殊权限再练习。
思考与讨论
1、top和ps的区别。
答:ps看到的是命令执行瞬间的进程信息,而top可以持续的监视
ps只是查看进程,而top还可以监视系统性能,如平均负载,cpu和内存的消耗
另外top还可以操作进程,如改变优先级(命令r)和关闭进程(命令k)
ps主要是查看进程的,关注点在于查看需要查看的进程
top主要看cpu,内存使用情况,及占用资源最多的进程由高到低排序,关注点在于资源占用情况
2、nice和renice的区别。
答:nice命令:设置进程的优先级(不能修改已运行进程的 NI 值)。
renice命令:调整运行中进程的优先级。普通用户只能调整自己创建的进程的优先级,而且只能把nice调整为更大的值。
区别:nice是在进程还没有运行的时候运行一个进程,指定优先级。
renice是改变已运行进程的优先级
实验总结
通过这次实验,对使用命令查看linux的进程信息有所了解,懂得了bg命令是使后台暂停的进程重新开始运行与crontab命令中五个*的含义,要熟悉每个命令的功能和用法格式。也遇到错误,通过百度、查看资料的网上视频,已解决。