进程管理
进程管理简介
- 进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源
进程管理的作用
- 判断服务器健康状态
- 查看系统中所有进程
- 杀死进程
进程管理查看 -ps命令和pstree命令
查看所有进程
1 | ps aux |
ps命令输出
1 | USER 该进程由那个用户产生的 |
pstree命令
1 | 查看进程树 |
进程查看 top命令
1 | top [选项] |
杀死进程
kill命令
1 | kill -l |
killall命令
1 | killall [选项][信号] 进程名 |
pkill命令
1 | pkill [选项][信号] 进程名 |
修改进程优先级
1 | nice命令 |
工作管理
- 当前的登录终端,只能管理当前终端的工作,而不能管理其他登录终端工作
- 放入后台的命令必须可以持续运行一段时间,这样我们才能捕捉和操作这个任务
- 放入后台执行的命令不能和前台用户有交互或需要前台输入,否则放入后台只能暂停,而不能执行
把进程放入后台
1 | tar -zcf etc.tar.gz /etc & |
查看后台的工作
1 | jobs [-l] |
将后台暂停的工作恢复到前台执行
1 | fg %工作号 |
把后台暂停的工作恢复到后台执行
1 | bg %工作号 |
后台命令脱离登录终端执行的方法
- 把需要后台执行的命令加入/etc/rc.local文件
- 使用系统定时任务,让系统在执行的时间执行某个后台命令
- 使用nohup命令
1 | nohup 命令 & |
系统资源查看
vmstat命令监控系统资源
1 | vmstat [刷新延时 刷新次数] |
dmesg开机时内核检测信息
1 | dmesg | grep CPUs |
free命令查看内存使用状态
1 | free [-b|-k|-m|-g] |
查看CPU信息
1 | cat /proc/cpuinfo |
uptime命令
显示系统的启动时间和平均负载,也就是top命令的第一行,w命令也可以看到这个数据
查看系统与内核相关信息
1 | uname [选项] |
判断当前系统的位数
file /bin/ls
查看当前Linux系统的发行版本
1 | lsb_release -a |
列出进程打开或使用的文件信息
1 | lsof [选项] |
系统定时任务
at一次性定时任务
1 | chkconfig --list | grep atd |
at的访问控制
- 如果系统中有/etc/at.allow文件,那么只有写入/etc/at.allow(白名单)中的用户可以使用at命名(/etc/at.deny文件会被忽略)
- 如果系统中没有/etc/at.allow文件,只有/etc/at.deny,那么写入/etc/at.deny(黑名单)中的用户不能使用at命令,对root不起作用
- 如果命令中这两个文件都不存在,那么只有root用户可以使用at命令
at命令
1 | at [选项] 时间 |
crontab循环定时任务
crontab服务管理与访问
1 | systemctl restart crond.service |
访问控制
- 当系统中有/etc/cron.allow文件时,只有写入此文件的用户可以使用crontab命令,没有写入的用户不能使用crontab命令。同样如果此文件,/etc/cron.deny文件会被忽略,/etc/cron.allow文件的优先级更高
- 当系统中只有/etc/cron/deny文件时,则写入此文件的用户不能使用crontab命令,没有写入文件的用户可以使用crontab命令
用户的crontab设置
1 | crontab [选项] |
系统的crontab设置
- “crontab -e”是每个用户执行的命令,也就是说不通的用户身份可以执行自己的定时任务,可是有些定时任务需要系统执行,这时我们就需要编辑/etc/crontab这个配置文件
执行系统的定时任务的方法
- 手工执行定时任务
- 系统定时任务
- 第一种把需要定时的脚本复制到/etc/cron.{daily,weekly,monthly}目录中的任意一个
- 第二种修改/etc/crintab配置文件
anacron配置
- anacron是用来保证在系统开始的时候错过的定时任务,可以在系统开机之后再执行
anacron检测周期
- anacron会使用一天,七天,一个月作为检测周期
- 在系统的/var/spool/anacron/目录中存在cron.{daily,weekly,minthly}文件,用于记录上次执行cron的时间
- 和当前时间做比较,如果两个时间的差超过anacron的值定时间差值,证明有cron任务被执行
1 | vi /etc/anacrontab |