1
、将前台进程放入后台,并进行查看
将命令放入Bash后台运行而不影响终端窗口
。
在命令结尾输入“&”符号即可,通过“&”放入后台的进程仍然处于运行状态
。
进程在前台运行时按【Ctrl+Z】组合键,进程会被放入后台并被处于暂停状态
查看后台进程-jobs 命令
-l
列出进程的 PID 号
2、启动一个后台进程,并进行查看
bg 命令
:
使后台暂停的进程重新开始运行
bg %工作号
(
%可以省略)
3、继续执行后台进行
fg 命令
:
把后台的进程恢复到前台继续运行
fg %工作号
(
%可以省略)
4、在2022年5月
2
5
日
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小时后
5、在每周
一
的
下午6
点
0分
执行 :写入“process
test”到 process
_test
.txt文件
crontab 命令
:
设置需要周期执行的任务
当我们执行“crontab -e”命令时,打开的是一个空文件,操作方法和 Vim 一致。文件格式
为:* * * * * 执行的任务
第一个”*”
一小时当中的第几分钟(minute)
0~59
第二个”*”
一天当中的第几小时(hour)
0~23
第三个”*”
一个月当中的第几天(day)
1~31
第四个”*”
一年当中的第几个月(month)
1~12
第五个”*”
一周当中的星期几(week)
0~7(0和7都代表星期日)
crontab -l查看当前crontab周期任务
6、结合grep,使用ps,lsof查看上一个定期任务
ps 命令
:
查看系统中当前有哪些进程,选项非常多
。只能显示系统进程的静态信息。
“ps aux” 可以查看系统中所有的进程;
“ps -le” 可以查看系统中所有的进程,而且还能看到进程的父进程的 PID 和进程优先级;
“ps -l” 只能看到当前 Shell 产生的进程。
lsof命令:列举系统中已经被打开的文件。通过 lsof 命令,我们就可以根据文件找到对应的进程信息,也可以根据进程信息找到进程打开的文件。
-c 字符串:只列出以字符串开头的进程打开的文件
+d 目录名:列出某个目录中所有被进程调用的文件
-u 用户名:只列出某个用户的进程打开的文件
-p pid:列出某个 PID 进程打开的文件
7、修改上一个定期任务的优先级,再结束进程
nice 命令
:
设置进程的优先级(不能修改已运行进程的 NI 值)
每个进程都有优先级,优先级越高,表示进程越有可能获得CPU的使用权
。
进程的优先级用nice值表示,取值范围是-20~19,默认值为0,数字越大表示优先级越低
。
renice 命令:调整运行中进程的优先级。
普通用户只能调整自己创建的进程的优先级,而且只能把nice调整为更大的值。root用户可以调整所有人的进程优先级,而且可以调整为更小的值。
8、练习top,pstree等命令
top 命令:查看进程信息的动态变化,默认每隔3秒刷新一次
-d secs:指定top命令每次刷新的间隔,单位为秒
-n max:指定top命令结束前刷新的最大次数
-u user:只监视指定用户的进程信息
-p pid:只监视指定进程ID的进程,最多可指定20个进程ID
-o fld:按指定的字段进行排序
pstree 命令:查看进程间的相关性和依赖关系
-a:显示启动每个进程对应的完整指令,包括启动进程的路径、参数等。
-c:不使用精简法显示进程信息,即显示的进程中包含子进程和父进程。
-n:根据进程 PID 号来排序输出,默认是以程序名排序输出的。
-p:显示进程的 PID。
-u:显示进程对应的用户名称。
9、开启yum命令的特殊权限
思考与讨论:
1、top和ps的区别。
答:ps
命令只看到的是命令执行瞬间的进程信息,而
top
可以持续的监视
。
ps
只是查看进程,而
top
还可以监视系统性能,如平均负载,
cpu
和
内存
的消耗。另外
top
还可以操作进程,如改变
优先级
(命令
r
)和关闭进程(命令
k
)
。
ps
主要是查看进程的,关注点在于查看需要查看的进程。而
top
主要看
cpu
,内存使用情况,及占用资源最多的进程由高到低排序,关注点在于资源占用情况
。
2、nice
和
renice
的区别。
答:
nice 命令
:
设置进程的优先级(不能修改已运行进程的 NI 值)
,renice 命令:调整运行中进程的优先级。
拓展试验:
特殊权限有三位:用户置位s(SUID)、组置位s(GUID)和粘着置位t(Sticky)
。
Set UID(简称为SUID):在所有者的执行权限位置上出现了之前从未讲过的s标志
。
只能对二进制程序文件设置SUID权限,对Shell脚本文件和目录不起作用
。
执行设置了SUID权限的程序文件时,进程的所有者变为原程序文件的所有者,而不是执行程序的用户,也可以理解为执行者继承了文件所有者的权限
。
前提是用户对该程序文件具有执行权限
。
Set GID(简称为SGID):出现在文件属组的执行权限位置上的s标志
。
可以对二进制程序文件和目录设置SGID权限。对二进制程序文件设置SGID权限时,进程将拥有文件属组的权限,即继承了文件属组的权限。SGID权限对二进制程序文件生效的前提是执行者对该文件具有执行权限。对目录设置SGID权限时,用户进入该目录后有效用户组变为该目录的属组。SGID权限对目录生效的前提是用户对该目录具有执行和写权限。用户在具有SGID权限的目录中新建的目录会自动继承SGID权限。
Sticky Bit(简称为SBIT或粘滞位):出现在目录的其他人的执行权限位置上的t标志。
只能对目录设置SBIT权限。用户在目录中新建的文件和目录,只有该用户本身和root用户能够删除。SBIT权限生效的前提是用户对目录具有执行和写权限。