码迷,mamicode.com
首页 > 系统相关 > 详细

linux进程的查看与管理

时间:2018-08-21 01:08:20      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:名称   指定   修改   周期性   次方   守护进程   静态   直接   停止   

一、进程的查看与管理
1、查看
a、ps 静态查看
格式:ps [选项]
选项:
a:与终端相关的
x:与终端无关的
u:以用户为中心
-e:显示所有进程
-f:显示完整格式程序信息
-l:显示完整的列
-H: 以进程层级格式显示进程相关信息

  ~]# ps aux
  USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
        VSZ: Virtual memory SiZe,虚拟内存集
    RSS: ReSident Size, 常驻内存集
    STAT:进程状态
        R:running
        S: interruptable sleeping
        D: uninterruptable sleeping
        T: stopped
        Z: zombie

        +: 前台进程
        l: 多线程进程
        N:低优先级进程
        <: 高优先级进程
        s: session leader

    b、top   动态查看
     有许多内置命令:
          排序:
                P:以占据的CPU百分比;
                M:占据内存百分比;
                T:累积占据CPU时长;

            首部信息显示:
                uptime信息:l命令
                tasks及cpu信息:t命令
                    cpu分别显示:1 (数字)
                memory信息:m命令

            退出命令:q
            修改刷新时间间隔:s
            终止指定进程:k

           选项:
            -d #: 指定刷新时间间隔,默认为3秒;
            -b: 以批次方式;
            -n #: 显示多少批次;

   c、pstree   查看进程树
    格式:pstree  [选项]
    选项:
     -a:显示完整信息
     -u:显示用户名
     -p:显示进程id号

   d、pgrep   根据指定信息查看进程
  格式:pgrep    指定信息
      例如:pgrep  -l  -U  用户名   -t  终端
     -l:显示进程名称
     -U:指定用户
     -t:指定终端

2、进程的启动
a、手动启动
    前台启动:直接在终端运行程序即可
    后台启动:将原本在前台执行的程序调到后台运行        在运行程序后加上&
    前后台调度的操作:
        ctrl+z:将正在运行的进程调入后台并停止执行
        jobs:查看后台进程列表
        fg [进行列表序号]:将后台停止的进程恢复前台运行
b、调度启动
    一次性计划任务:at
    周期性计划任务:crontab

3、结束进程
ctrl+c
kill PID号
kill  -9   PID号    //慎用
killall 进程名称
killall  -9  进程名称    //慎用
pkill -U 用户名  -t  终端      //结束指定用户在指定终端上的进程
pkill -9  -U 用户名  -t  终端  //慎用

二、计划任务
1、一次性 at
确保:atd服务正在运行
格式:at [HH:MM] [YYYY-mm-DD] //按ctrl+d提交
例如:#at 21:30
at>shutdown -h now
atq //查看尚未执行的任务列表
atrm n //删除指定尚未执行的任务

2、周期性
周期性任务计划:cron
相关的程序包:
cronie: 主程序包,提供了crond守护进程及相关辅助工具;
cronie-anacron:cronie的补充程序;用于监控cronie任务执行状况;如cronie中的任务在过去该运行的时间点未能正常运行,则anacron会随后启动一次此任务;
crontabs:包含CentOS提供系统维护任务;

        确保crond守护处于运行状态:
            CentOS 7:
                systemctl status crond
                    ...running...
            CentOS 6:
                service crond status

    计划要周期性执行的任务提交给crond,由其来实现到点运行。
        系统cron任务:系统维护作业
            /etc/crontab
        用户cron任务:
            crontab命令

        系统cron任务
            # Example of job definition:
            # .---------------- minute (0 - 59)
            # |  .------------- hour (0 - 23)
            # |  |  .---------- day of month (1 - 31)
            # |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
            # |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
            # |  |  |  |  |
            # *  *  *  *  * user-name  command to be executed   

            例如:晚上9点10分运行echo命令;
                10 21 * * *  gentoo /bin/echo "Howdy!"

            时间表示法:
                (1) 特定值;
                    给定时间点有效取值范围内的值;
                (2) *
                    给定时间点上有效取值范围内的所有值;
                    表示“每...”;
                (3) 离散取值:,
                    #,#,#
                (4) 连续取值:-
                    #-#
                (5) 在指定时间范围上,定义步长:
                    /#: #即为步长

            例如:每3小时echo命令;
                0 */3 * * * gentoo /bin/echo "howdy!"

        用户cron:
            crontab命令定义,每个用户都有专用的cron任务文件:/var/spool/cron/USERNAME

            crontab命令:
                crontab [-u user] [-l | -r | -e] [-i] 
                    -l: 列出所有任务;
                    -e: 编辑任务;
                    -r: 移除所有任务;
                    -i:同-r一同使用,以交互式模式让用户有选择地移除指定任务;

                    -u user: 仅root可运行,代为为指定用户管理cron任务;

        注意:运行结果以邮件通知给相关用户;
            (1) COMMAND > /dev/null 
            (2) COMMAND &> /dev/null

            对于cron任务来讲,%有特殊用途;如果在命令中要使用%,则需要转义;不过,如果把%放置于单引号中,也可以不用转义;

linux进程的查看与管理

标签:名称   指定   修改   周期性   次方   守护进程   静态   直接   停止   

原文地址:http://blog.51cto.com/13929859/2162178

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!