关于进程管理的内容,主要是两个部分:进程管理命令和计划任务
一、进程管理命令
1.w 查看各用户信息
load average后面三个值分别表示系统在1、5、15分钟时的负载情况
tty表示用户从什么终端登录,tty1表示本地第一个终端,pts表示远程终端
from中如果是:0表示xwindow下启用的timinal
idle 表示系统空闲时间
jcpu表示该用户启动时所有相关进程执行时消耗的时间
pcpu:用户正在执行的程序耗费的时间
what:用户正在执行的操作
2.ps 进程状态查看命令
直接ps查看隶属于自己的进程信息
ps -l或ps -u查看隶属于自己进程的详细信息
ps -le查看所有用户执行进程的详情信息
ps -uU 用户名 查看指定用户的进程信息(ps -le | grep 用户名)
uid:该进程是由哪个用户启动的
pid:进程ID PPid是父进程号
tty:进程启动的终端
stat:进程当前状态(s休眠,d不可中断休眠,z僵死,t停止,r运行)
NI:优先级
time:进程自启动以来启用cpu的总时间
command/cmd:进程命令名
3.pstree 以树状结构查看进程
4.kill 关闭进程
直接kill 进程号 可以直接关闭进程
kill -l 查看kill所有的信号(kill -9 pid强行关闭,kill -1 pid重启进程)
xkill关闭图形程序
killall 进程名(pid)关闭所有相关进程
5.
pgrep 进程名 查看进程号
/proc目录是一个虚拟的文件目录,它其实并不是在外存上(也就是硬盘上),而是在内存中。每次启动操作系统都动态的生成。里面都是描述进程相关的信息。
6.
pkill 进程名 只通过进程名结束进程
7.nice与renice 设置进程优先级与改变正在运行进程优先级
优先级的取值范围是(-20,19),优先级的值越小,优先级就越高
格式:nice -num command 与renice -num pid
8.nohup
9.进程的挂起和恢复
进程挂起 ctrl+z
进程终止 ctrl+c
查看被挂起的进程或者后台进程 jobs
挂起进程恢复到前台继续运行 fg num(这个num就是jobs查看时前面那个序号)
挂起进程恢复到后台继续运行 bg num
10.top 进程状态显示与进程控制(默认5秒动态跟新一次)
在top运行时按d:指定刷新的时间间隔
二、计划任务
那首先就是为什么要有计划任务?我们知道很多时候某些特定的任务并不是实时去做的,有时候是在特定时段,比如深夜的某些时候来执行某段特定的任务。固计划任务应运而生。
计划任务一般分为一次性计划任务和周期性计划任务两种。首先来谈第一种的一次性计划任务。一次性计划任务有两个需要掌握的命令at和batch。
1.at 安排一个或多个命令在特定时间下运行一次
(1)命令时间的指定方法
绝对计时法 ---- hh:mm MM/DD/YY
相对计时法 ---- now +n minutes(hours days)
(2)指定一个命令或多个命令的计划任务执行
I.执行
at 时间以后会进入at命令行,输入命令的绝对路径(安全)。输入完一条命令然后按回城接着第二条命令,最后都输入完毕以后按
ctrl+d就保存了。
II.当任务比较复杂的时候,通常使用脚本的方式来执行。假设生成一个脚本文件at.scripte。那么通过
at -f 文件名 时间就可以指定。
(3)at -l 查看队列中的任务
at -d 序号 删除计划任务
其中a是表示active,第一个数字表示任务的序号
通过
at -d 序号来删除计划任务。写完的计划任务是存放在
/var/spool/at目录里的。
(4)at的配置文件
并不root才能使用at,这里有两个文件一个是/etc/at.allow,一个是/etc/at.deny。如果只有/etc/at.deny存在,那么该文件中列出的用户不能使用at。如果只有/etc/at.allow存在,那么只有该文件中列出的用户能使用at。如果两个文件都存在且为空,那么所有用户都可以使用at。如果两个文件都不存在那么只有root才可以使用at。
2.batch 安排一个或多个命令在系统负载教轻时执行一次
用法同at,一般负载在0.8以下为较轻(w可查看负载)
3.crontab 周期性计划任务命令,用于生成cron进程所需的crontab文件
(1)conttab时间格式
分钟 小时 天 月 星期 命令/脚本
minute hour dayofmonth monthfoyear dayofweek commands
只要把知道的具体时间添上,不知道的用*添上即可。
比如:
每天凌晨4点备份 0 4 * * * barkup.scrip
1到3月每周2周5下午6点备份 0 18 * 1-3 2,5 barkup.scrip
中午12-14点
每隔2分钟执行操作 */2 12-14 * * * 操作
(2)crontab -e 进入文件编辑周期性计划任务
直接crontab 进入命令界面输入任务
周期性计划任务都存放在/var/spool/cron目录下。
(3)/etc/crontab配置文件 /etc/cron.allow /etc/cron.deny
该配置文件设置的crontab的一些环境变量以及系统一些默认固定的周期计划任务。/etc/cron.allow与/etc/cron.deny的用法与at命令类似。