Linux-进程管理

1.进程和进程控制的概念

  查看进程状态

w :查看个别用户进程

  JCPU:所有任务执行的耗费

  pcpu:正在执行所耗费的

  WHAT:长在执行的任务

  IDLE:闲置时间

  FROM:在哪登陆

  load average:每分钟的负载

ps  -aux --sort pid(可以排序)

  -a:显示所有用户的进程

  -u:显示用户名和启动时间

  -x:显示没有控制终端的进程(系统自动开启的,并不是通过命令手动开启的)

ps -aux|grep xclock: |管道使用

 

ps -el

  -e:显示所有进程,包括没有控制终端的进程

  -l:长格式显示

  

进程的组成:

PID:进程号  PPID:父进程的进程号  TTY:进程启动的终端 

STAT:

  s:休眠  D:不可终端的休眠  R:运行   Z:僵尸  T:停止

NI:进程优先级

  进程的挂起和恢复

TIME:

  进程启动以来使用CPU的总时间

COMMAND:

   运行命令的名称

  杀死或重新启动进程

  改变进程的运行优先级

 

2.进程状态的查看、控制

  杀死进程

为什么:过多CPU,锁住了CPU的空间,过大,没有效果,无法正常退出……

kill 进程号

kill -s 信号 进程号

kill -l 得到所有的信号

killall 进程名(cmd)

 

  改变进程的优先级(-20,19)

nice -n command &:指定n优先级 &后台执行

renice n pid :改变一个正在运行的进程的优先级

进程状态显示和进程控制(默认每5秒刷新一次):

  top -d 1:-d 间隔时间        -c:显示整个命令行,而不仅显示命令名  -q:立刻更新所显示的信息

进入top 后,获得热点:u-用户  r--重设优先级 s--刷新时间间隔  k--杀死指定进程

 

挂起进程:ctrl+z   如果开启时,可以在后面使用&  ctrl+c  终止

jobs:多少个进程在使用

fg 4:放到前台

bg 4:恢复后台

 

3.一次性安排进程任务


开启at:service atd start

  at:安排作业在某一时刻执行一次

开启后;

at 时间

  在某个时间点执行某个命令时,一定要使用命令的全路径

时间确定:

1.绝对的时间 midnight  noon  teatime  hh:mm[today|tomorrow|星期] mm/dd/yyyy

2.相对计时方式 now+n minute   now+n hours  now+n day

如:指定在今天下午5:30执行某个命令(假设现在的时间为中午12:30 2016年2.29)

--:at 5:30pm  at 17:30  at 17:30 today  at now+5 hours  at now+300 minutes  at 17:30 02.29.2016

指定的时间一定是以后的

at -f  文件 时间点:执行命令文件

at <one.txt  时间点:同上

 

at的执行结果和配置文件

  结果:会通过邮件寄给提交这个命令的用户

  配置文件:可以限制哪些用户可以使用at命令

/etc/at.allow:如果该文件存在,那么只有列在此文件中的用户才可以使用at命令。如果这个文件不存在,则会检查/etc/at.deny

/etc/at.deny:如果这个文件存在,则在此文件中列出的用户都不能使用at命令。

如果两个文件都不存在,只有root用户可以使用at命令,如果两个文件都存在,都为空,则所有用户都可以使用at命令

 

at 10:56

 at>/bin/cp -r /root/* /home/jennyxu

at>/bin/echo "00000" /root/one.txt

ctrl+D 退出

at -l 查看  q查看

at -d |atrm:删除任务

 

  batch:安排作业在系统负载不忙时执行一次

 

4.周期性安排进程任务

crond

1.service crond start

crond 进程会搜索crontab文件并载入内存

crontab文件即/var/spool/cron/目录以用户名命名的文件

如果这个进程启动以后,它将首先检查是否用户设置了crontab文件,如果没有就直接转入“休眠”状态,释放系统资源,

crond进程每分钟醒来一次,查看crontab文件决定当前是否有需要执行的命令。

命令执行结束后,任何输出都将作为邮件发送给crontab的所有者

crontab -e:使用编辑器编辑当前的crontab文件,结束后会自动安装到计划-u:指定用户

crontab -l:使在标准输出中输出显示当前crontab文件的内容

crontab -r 删除当前的crontab

该文件由6部分组成:

minute:一小时的哪一分钟 0-59

hour: 一天中的哪个小时0-23

day-of-month :一个月的哪一天 1-31

month-of-year:一年中的哪一月 1-12

day-of-week:一周的哪一天0-6

commands:用户需要周期执行的命令,也要使用命令的全路径,不能是相对路径

这些项目都不能为空,必须填入的内容,,如果用户不需要指定其中的几项,可以使用*表示任何时间,每个时间字段都可以指定多个值,它们可以用“,”间

隔,5-8,* /5

命令应该给出绝对路径,用户必须具有运行所对应命令或程序的权限

/etc/cron.allow

/etc/cron.deny

用来限制哪些用户可以使用crontab(类似at)

 

posted @ 2016-02-29 18:05  jenny落  阅读(136)  评论(0编辑  收藏  举报