- 实验目的:
- 了解Linux系统下的进程;
- 掌握一类守护进程——计划任务的管理;
- 掌握进程管理的常用命令;
- 掌握进程的前台与后台管理;
- 了解Linux系统的运行级别;
- 掌握系统服务管理的常用命令。
实验内容:
在VMware中启动已经安装好的CentOS,本地登录root账号,并在桌面上打开终端,完成以下任务,截图并粘贴于以下空行中。
或者在启动CentOS后,打开putty或者MobaXterm,远程登录root账号,完成以下任务,截图并粘贴于以下空行中。
计划任务的管理:at命令和crontab命令
at命令的练习。
先查看/var/spool/at/目录内的文件情况。
- 实验目的:
- 了解Linux系统下的进程;
- 掌握一类守护进程——计划任务的管理;
- 掌握进程管理的常用命令;
- 掌握进程的前台与后台管理;
- 了解Linux系统的运行级别;
- 掌握系统服务管理的常用命令。
让系统在第二天上午11点完成一个at作业,该作业包含两个任务:其中一个是查询系统在线人数,并写入到/tmp/num文件中。另一个任务是给普通用户发送一个主题为“Happy Birthday”的问候邮件。
该作业会以文本文件的方式写入/var/spool/at/目录内,该工作便能等待atd这个服务的取用与执行。再次查看/var/spool/at/目录内的文件,与之前是否有变化?
突然发现对方生日弄错了,需要删除作业中的第二个生日问候的邮件任务。此时先用选项 -l查看目前已经创建的at作业,获取该作业的作业ID号。
再根据该作业ID号,利用选项 -d删除该作业。
crontab命令练习。
假设你的朋友Tom生日是 5 月 2 日,你想要在每年的 5 月 1 日的 23:59 发一封信给他,这封信的内容已经写在/root/birthday.txt 内了,该如何进行?(这里周期性的任务,因此使用crontab命令,同时注意列与列之前是用tab分隔)
先查看/var/spool/cron/目录内的文件。
利用cat命令新一个名为cronfile1的作业列表文件,按以上要求输入任务代码,按Ctrl+d存盘并退出。
(参考答案:59 23 1 5 * mail Tom < /root/birthday.txt)
利用crontab命令执行该作业列表文件情况。
该作业会以文本文件的方式写入/var/spool/cron/目录内,并以创建用户名为文件名,该工作便能等待crond这个服务的取用与执行。再次查看/var/spool/cron/目录内的以用户名为名的文件,看看其内容是否与作业列表文件内容相同?
因故需要取消该计划任务。利用crontab命令的-r选项,删除该作业。
进程管理常用命令练习
使用ps命令查看和控制进程。
显示本用户的进程。
显示所有用户的进程。
在CentOS7的图形界面中运行firefox浏览器。
在本地终端或远程SSH终端的命令行中,运行ps -ef命令,可以看到firefox线程(或还有其多个子线程,即带有childID字样的线程)。
记住firefox进程的那个PID(不是其子进程),利用kill结束这个进程(其子进程会自动结束),同时注意图形界面中,firefox浏览器会退出。
再次在命令行中查看firefox进程,看其是否已被结束。
使用top命令查看和控制进程。
在CentOS7的图形界面中运行firefox浏览器。
使用top命令动态显示当前的进程。
由于firefox进程通常占用内存比较大,可以使用M键按内存大小排序可以看到firefox进程(注意要按shift+m组合键,因为是大写M键)。
记住firefox进程的那个PID,利用k键结束指定进程号的进程。
按q键退出 top环境。
挂起和恢复进程。
利用cat命令新建一个名为prtest.txt的文件,即运行cat > pr.txt命令。回车后输入两行文字,如:
I like reading.(回车)
Hello Linux! (回车)
假设这时有另外一个紧急事情A,需要马上在命令行完成它。这时按Ctrl+z,把当前cat进程挂起到后台后,立即先完成这个紧急事情A。
输入jobs命令,查看当前终端放到后台的进程。
输入bg命令,把cat切换到后台运行。
输入fg命令,把cat切换到前台运行。
继续输入prtest.txt的第三行文字:“We are reading.”回车后,按Ctrl+d存盘并退出。
查看此文件,确认在输入此文件时的临时中断,是否影响到文件内容的完整?
系统服务管理的常用命令。
runlevel和init命令的练习。
假设服务器当前进入的是图形界面。在远程终端(如putty或MobaXterm等)运行命令查看系统当前和上一次的运行级别。
切换到第3级别,进入字符终端。注意此时服务器端的变化。
在字符终端查看系统当前和上一次的运行级别。
切换回第5级别,注意此时服务器端的变化。
Systemctl系统服务管理命令的练习。
CentOS7采用加载target的方式取代之前版本的运行级别,其中有两个重要的target: multi-user.target和graphical.target,它们分别对应运行级别中的3与5级别。
查看CentOS7服务器当前默认启动的target。
如果想设置系统默认启动的target是字符界面和图形界面,应该分别输入什么命令?(直接输入文字,不用截图)
字符界面:systemctl set-default multi-user.target
图形界面:systemctl set-default graphical.target
开机状态有以下几种:
enabled表示允许开机启动。
disabled表示禁止开机启动。
static表示该服务不可以自己启动(不可enable),不过可能会被其他的 enabled 的服务来唤醒(相依属性的服务)。
mask:表示这个服务无论如何都无法被启动!因为已经被强制注销(非删除)。可通过 systemctl unmask 方式改回原本状态。
查看所有服务并且检查服务的开机启动状态。
查看所有开机启动的服务有哪些,应该输入什么命令?
Linux防火墙服务的管理。Linux防火墙服务进程名是firewalld.service(扩展名.service可以省略),查看centos7的防火墙的状态。
关闭防火墙。
打开防火墙。
以上打开和关闭防火墙都是临时的,重启系统后又会恢复到默认的状态。除非设置允许防火墙开机自启动或禁止防火墙开机自启动。设置允许防火墙开机自启的命令是什么?
setup系统自启动服务控制。
此命令大家自行运行了解。