• 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)

  • 相关阅读:
    Ubuntu解压缩命令
    小语种优化策略
    外贸seo常用Zen Cart数据库mysql批量执行命令
    ASP Request.ServerVariables
    centos linux 下 crontab e 命令插入及保存
    AJAX 传值给后台
    partial class
    Jquery 实现弹出层
    abstract class
    SQL锁表
  • 原文地址:https://www.cnblogs.com/xcnblog3035/p/5227785.html
Copyright © 2020-2023  润新知