进程管理和计划任务

2017-08-27  本文已影响0人  一桥长书

1 进程的概念

内核的功用 
  进程管理  文件系统  网络功能  内存管理  驱动程序  安全功能
进程 
  运行中的程序的副本,被载入到内存的指令集合进程ID(process ID,pid)号码来标记各个进程uid,gid,selinux环境决定对文件系统的存取和访问权限通常从执行进程的用户来继承
linux 的进程类型
  守护进程  系统启动时启动的进程 与终端无关
  用户进程 跟终端有关 不过是终端启动的进程 
    注意 不过也可以将前台启动的进程送到后台 以守护进程的模式来运行
进程的优先级
  系统优先级 数字越小 优先级越高
    0-139 centos5 各有140个运行对列和过期对列
    0-98,99 centos 6 
   实时优先级 99-0 值越大优先级越高
   nice值 -20到19 对应系统优先级100-139或99
进程间通信 IPC Inter Process Communication
    同一主机 
      signal 信号
      shm shared memory
      sepaphore 旗语 
    不同主机 
        rpc remote process call
        socket IP:Port
进程的状态
    运行状态 running
    就绪状态 ready
    睡眠状态 sleep
        可中断睡眠 interruptable 
        不可中断睡眠 uninte
rruptale 
    停止态 stop 暂停于内存中 不会被调度
    僵尸态 zombie 没有父进程
    进程的分类
      CPU-Bound cpu 密集型  如压缩
      IO-Bound IO密集型 
USER:运行命令的用户
PID:此进程的PID号
%CPU 进程占用的cpu时间片
%MEM  进程占用的内存
VSZ Vitual memory SiZe  虚拟内存集
RSS ReSident Size 常驻内存集
TTY 当前运行进程所在的终端 守护进程 没有是个?
STAT 进程状态
  常见的进程状态
     R running
     S interruptable sleeping
     D uninterruptable sleeping
     T stopped
     Z zombie
     + 前台进程
     l 多线程进程
     N 低优先级进程
     < 高优先级进程
     s session leader 会话
toatal sys
  usr 用户
  sys 系统
  idl 空闲
  wai 等待
  hiq 硬中断
  siq 软中断
dsk/total 磁盘读写
  read 从
  write 写
system 系统
  int 每一秒系统的中断数
  csw 每一秒系统的上下文切换

作业的管理

linux 的作业控制
  前台作业 通过中断启动 且启动后一直占据的终端
  后台作业 可通过终端启动 但启动后即可以转入到后台
让作业转入到后台 
  1 运行中的作业 ctrl + z
  2 未运行的作业 command &
后台作业虽然被放到后台运行,但是还是与当前的终端有关
剥离与当前终端的关系
  nohub command &>/dev/null &
  screen;command
作业控制:
  fg [[%]JOB_NUM] :把指定的后台作业调回前台
  bg [[%]JOB_NUM] :让送往后台的作业在后台继续运行
  kill [%JOB_NUM]: :  终止指定的作业

at 一次性作业任务

依赖于atd服务 系统需要开启服务,否则将不会运行
/etc/at.{allow,deny} 控制用户能否执行at任务
  白名单/etc/at.allow 默认不存在,只要存在该文件 就只有这上的用户可以执行at任务
  黑名单 /etc/at.deny 默认存在 拒绝用户执行at任务在文件中的用户不可以执行at任务
  注意 白名单和黑名单同时存在时,会执行白名单
  如果两个文件都不存在,只有root可以执行at任务

cron 周期性任务

依赖于crond守护进程,同时也要有cronie补充程序,用于监控cron任务没有在规定时间内运行,再次启动cron任务
系统周期任务
在/etc/crontab 及 /etc/cron.d/ 定义
用户的周期性任务/var/spool/cron中每一个用户一个文件
练习
1 每4小时备份一次/etc至目录/backup中,保存的文件名格式名为etc-yyyy-mm-dd.tar.xz
    0 */4 * * * /usr/bin/tar -Jxf /backup/etc-`date +%F`.tar.xz /etc
2 每周2,4,7备份/var/log/message 文件备份至/logs目录中 文件名如 messages-yyyymmdd
    0 0 * * 2,4,7 /usr/bin/cp -a /var/log/message /logs/message-`date +%Y%m%d`
3 每两小时取出当前系统/proc/meminfo文件以S或M开头的信息追加至/tmp/meminfo.txt文件
    0 */2 * * * /usr/bin/grep -E "^[S|M]" /proc/meminfo  >> /tmp/meminfo.txt
4 工作日时间内 每一个小时执行一次'ip addr show' 命令
    0 * * * 1-5  /usr/sbin/ip addr show &> /dev/null
上一篇下一篇

猜你喜欢

热点阅读