前言
无论是 Linux 系统管理员还是普通用户,监视系统进程的运行情况并适时终止一些失控的进程,是每天的例行事务。和 Linux 系统相比,进程管理在 Windows 中更加直观,它主要是使用"任务管理器"来进行进程管理的。
在使用 Windows 系统的过程中,使用任务管理器,很大程度上是为了强制关闭“未反应”的软件,也就是杀死进程。的确,这是很多使用进程管理工具或进程管理命令的人最常见的使用方法。不过,杀死进程(强制中止进程)只是进程管理工作中最不常用的手段,因为每个进程都有自己正确的结束方法,而杀死进程是在正常方法已经失效的情况下的后备手段。
进程的概念
进程(Process)是计算机中正在运行的程序的实例,是被载入内存的一个指令集合,是资源分配和管理的基本单位。每个进程都有自己的内存空间、代码和数据,并且可以独立地执行。
(1)在CPU及内存中运行的程序代码
(2)动态执行的代码
(每个程序可以创建一个或多个代码)
实验目的
1.学会查看和控制进程
2.学会设置计划运行的任务
一、实验内容
(1)ps查看静态的进程统计信息
# ps a
(2)ps查看静态的进程统计信息
#ps u
(3)ps查看静态的进程统计信息
# ps x | more
(4)ps查看静态的进程统计信息
# ps -e | more
(5)ps查看静态的进程统计信息
# ps -l
# ps l
(6)ps查看静态的进程统计信息
# ps f
(7)top查看动态的进程排名信息
# top
(尝试查看cpu和ram使用率排名)
(8)pgrep查看进程信息
# pgrep -l "log "
(9)进程的前后台调度
# top
(Ctrl+Z 将其切到后台运行)
# jobs (查看后台的进程)
# fg 1 (将编号为1的后台进行切到前台)
(10)终止进程的运行
# top
(Ctrl+Z 将其切到后台运行)
# pgrep - l "top"
xxxx
# kill -9 xxxx
# vi a.ppt
(Ctrl+Z 将其切到后台运行)
# vi b.ppt
(Ctrl+Z 将其切到后台运行)
# yum -y install psmisc (安装killall程序所在模块)
# killall -9 vi (终止所有vi进程)
(11)计划任务管理
# yum -y install at
# systemctl start atd
# date (确认当前机器日期和时间,操作时用实际时间)
2024年 04月 18日 星期四 15:45:05 CST
# at 15:55 2024-04-18 (设定10分钟后执行一个任务)
at> pgrep -U root | wc -l > /tmp/ps.root
at> <EOT>
job 1 at 2024-04-18 15:55
# cat /tmp/ps.root (10钟后再输入该命令)
(12)周期性计划任务练习
A:root的计划任务
每天早上7:50自动开启sshd服务,22点50时关闭
每隔5天清空一次FTP服务器公共目录/var/ftp/pub
每周六的7:30时,重新启动httpd服务
每周一、三、五的17:30时,打包备份/etc/httpd目录
# systemctl start crond (运行周期性任务服务程序)
# crontab -e
50 7 * * * /sbin/systemctl start sshd
50 22 * * * /sbin/systemctl stop sshd
0 0 */5 * * /bin/rm -rf /var/ftp/pub/*
30 7 * * 6 /sbin/systemctl restart httpd
30 17 * * 1,3,5 /bin/tar jcf httpdconf.tar.bz2 /etc/httpd/
(ESC退出插入状态)
(:wq 存盘退出)
B:jerry的计划任务
每周日晚上23:55时将“/etc/passwd”文件的内容复制到宿主目录中,保存为pwd.txt文件
# useradd jerry
# crontab -e -u jerry
55 23 * * 7 /bin/cp /etc/passwd /home/jerry/pwd.txt
(:wq 存盘退出)
# ls /var/spool/cron