一 进程

  1. 进程 :资源管理 轮流进行 时间片格式 程序被加载到内存中运行
    线程 :执行管理
    进程包含线程,线程包含协程
  2. 进程间的通信

    同一主机:pipe socket signal shm semaphore
    不同主机:rpc mq(消息队列)

  3. realtime 0-99
    非实时 100-139 nice
  4. 进程属性 cat /proc/pid/status
  5. renice 改存在的进程优先级
    nice 改新进程的优先级
    nice值具有传递性
    chrt 设置realtime的优先级

  6. 处理僵尸进程方法:重启
  7. ps axo pid,cmd,%mem,%cpu k -%cpu 查找使用最到的cpu进程
  8. pidof:确切的程序名称
    uptime:负载
    iostat :监控io
    vmstat :检测系统资源变化
    iftop : 带宽
    dstat : vmstat加强版
    top :动态查看进程 (wa变大可能是io变大)
    htop
    pmap : 进程映射内存
    glances ; 系统监控
    nload : 网络吞吐量
    dmesg : 分析内核产生的信息
    9.

    lsof : 查找进程开启的设备与文件
    实验一 : 恢复删除文件
    进程必须存在
    lsof | grep (找到pid)
    cd /proc/pid/fd 找到deleted
    cat $num >
    10.
    fuser :借文件找到进程
    实验一:卸载时/home系统提示device is busy
    umount /home
    fuser -uvm /home
    fuser -kim /home
    umount
    11.
    kill :信号 pid
    -1 重启 (不过没啥用 还容易死)
    -9 杀死
    -15 正常结束
    -0 判断进程是否正常
    -18 让后台任务变运行
    -19 相当于ctrl -z
    -2 信号捕捉 相当于ctrl c
    killall : 接cmd

二 计划任务

  1. at (仅执行1次的任务的命令)        
    atd服务支持(独立bash,atd管理)
    /etc/at.deny 此下的用户不可使用at
    -c
    -l
    -d
    可以脱机运行
    atq 
    atrm
 2.batch 系统空闲时运行的命令(cpu负载小于0.8)
 3.crontab(循环执行)
 /etc/cron.deny 此下的用户不可使用crontab
 建立计划任务记录在/var/spool/cron
 执行的每次任务记录在/var/log/cron
 crontab : -e  
           -l
           -r
 格式:
 定义的path
 分钟 小时 日期 月 周 执行的命令             
 (最好写绝对路径)
 crontab读取的配置文件
 /etc/crontab
 /etc/cron.d/*
 /var/spool/cron/*
 4.   
    & 放置到后台的任务
    fg:后台拿到前台
    bg:在后台的任务变运行
    nohup : 脱机管理 不支持内部命令 

  脚本编程
    1.echo的问题
      -n 不换行输出
      "`ifconfig`" :用引号将格式转正常
      -e:\t  制表符
          \c  不换行
          \n  换行
          \a  响铃
    2.取6位随机数
  cat /etc/urandom | tr -dc '0-9' |head -c 6
    3.逻辑运算
  等腰三角形:计算空白数量
             计算符号数量
             确定循环几次
   4.while read 
   5.shift
   6.continue
     break
   7.select 
   8.函数
     return
   9.fork
   10.trap
   11.数组
      关联数组
   12.变量赋值
   13.eval
   14.expect 非交互模式