一、进程管理
1.进程简介
一个程序对应多个进程;一个进程对应一个程序。
--------------------------------------------------
2.进程状态的查看与控制
查看进程状态
w 查看个别用户的进程 eg: w userName
list-info
JCPU:
PCPU:
WAHT:
from:
IDLE: 用户空闲时间
load average:
ps -aux
-a: 显示所有用户的进程
-u:显示用户名和启动时间
-x:显示没有控制终端的内容
ps -el
-e:显示所有进程,包括没有控制终端的进程
-l:以长格式显示进程
list-info
PID:进程号
PPID:父进程的进程号
TTY:进程启动的终端
STAT:进程当前的状态
S :休眠
D :不可中断的休眠
R :运行
Z :僵死
T :停止
NI:进程优先级
TIME:进程启动总时间
COMMAND:进程名称
查看进程排序
ps -aux --sort pid[PID/TIME/UID/PPID/TTY/STAT]
查看进程筛选
ps -aux|grep processName
杀死或重新启动进程
为什么要杀死进程:
占资源;进程死了;执行时间长,没效果。。。
命令:
kill pid
kill -9 pid
kill -s 信号 pid
kill -l 列出所有的信号
killall 进程名(CMD) 杀死所有相关的进程
改变进程的运行优先级(-20, 19)
nice -n command & 指定程序运行优先级
renice n pid 改变一个正在运行的程序的优先级
实时查看进程状态
top 默认5秒刷新一次
top -d 1
top -c 显示整个命令行,不仅是命令名
top -d 1 -c 设置1秒刷新一次
top -q 立刻更新所显示的信息
进程的挂起和恢复
正在运行,挂起可以 ctrl + z
如果开启时,可以在后边使用&
command &
command
ctrl + c ctrl + z
jobs
fg4
bg4
二、任务计划
---------------------------------------------------
3.一次性安排进程任务
at 安排作业,某个程序在某一时刻执行一次
第一步:开启atd service atd start
第二步:添加一个任务
格式:at time
eg: 在10:20的时候,执行一个命令,插入一行文字到某个文本里边
at 10:20
>/bin/cp -r /root1 * * * * /bin/pc
任务包括两个内容:时间 + 操作
a.时间
minute : 一小时中的哪一分钟[ 0 - 59 ]
hour : 一天中的哪一个小时[ 0 - 23 ]
day-of-month: 一个月中的哪一天 [ 1 - 31 ]
month-of-year: 一年中的那一个月 [ 1 - 12 ]
day-of-week: 一周中的哪一天 [ 0 - 6 ]
b.操作
commands: 执行的命令, 命令要是用绝对路径
这些项不能为空,必须填入
如果用户不需要指定其中的几项, 那么可以使用通配符号“*”表示任何时间
每个时间字段都可以指定多个值,用","间隔
eg: 每天的1点和3点 * 1,3 * * * commands
每个时间字段都可以指定范围,用"-"间隔
eg: 每天的8点到10点 * 8-10 * * * commands
每个时间字段都可以使用间隔,用/表示
eg: 每隔一分钟 */1 * * * * commands
用户必须具有运行所对应命令或程序的权限
③查看 crontab -l
④删除 crontab -r
⑤crontab的配置文件,限制哪些用户可以使用crontab命令,规则与at一致
/etc/cron.allow
/etc/cron.deny