Linux进程作业常用命令

从鸟哥的私房菜书里摘抄的部分,方便查阅
一、作业管理
    1、直接将命令放到后台执行的&
        如想将/etc 备份为/tmp/ect.tar.gz时不想等待,可以这样做:
        tar -zpcf  /tmp/etc.tar.gz /etc &
        [1] 24874 <==[job number] PID 
        在命令的最后面加个& 表示将该命令放到后台,此时bash会给这个命令一个作业号 job number就是[1] 24874是PID;如果之后会突然出现[1] Done 表示这个作业完成了;
       将作业放到后台要注意数据的流向,如出现stdout stderr的情况时会输出到屏幕上导致看不到,可以改成:
        tar -zpcf /tmp/etc.tar.gz /etc > /tmp/log.txt 2>&1 & 这样信息就会保存到log.txt里
    
    2、将当前作业放到后台暂停[ctrl] -z 
        例如:如果我在使用vi发现有个文件不知道放在哪里,需要到bash环境搜索,不要结束vi
        vi ~/.bashrc     #在vi模式下,按下[ctrl]-z组合键
        出现[1]+ Stopped /usr/bin/vim ~/.bashrc
           +表示当前在后台下默认的作业
 
    3、观察当前后台作业状态:jobs 
        jobs [-lrs]
        -l 除了列出作业号之外,同时列出PID
        -r 仅列出正在后台运行的作业
        -s 仅列出正在后台暂停的作业
    
    4、将后台作业拿到前台处理:fg
 
 
二、进程管理
    1、进程的观察
        1)ps 
            ps -l :将当前属于自己登陆的PID与相关信息展示,参数说明见下图:
            ps aux :列出当前所有正在内存中的进程
            ps -lA : 显示出所有的进程
            ps -axjf 列出类似进程树的进程显示
            结果参数说明:
        F:进程的标志flag
        S :进程的状态stat;-R正在运行/可运行;-S:睡眠中idle状态但可被某些信号唤醒;-T正在检测或停止;-Z:终止僵尸
        C :CPU使用的资源百分比
        ADDR:核心功能,指出进程在内存的哪一部分,-表示允许的进程
        SZ:用掉的内存大小
        WCHAN:当前进程是否正在运行,-表示正在运行
        TTY:登录者的终端位置
        TIME:用掉的CPU时间
        CMD:所执行的命令
        2)top [-d]  [-bnp]
            每2s更新一次:top -d 2
            只观察一个进程 top -d 2 -p10660 
        结果参数说明:
        PR:priority的简写,进程的优先执行顺序,越小越早执行
        NI:nice的简写,,与priority有关,也是越小越早执行
        TIME+:CPU的使用时间累加
 
    2)进程删除
        kill PID 
        如下例子是:找出syslog服务的PID
        
        删除某个服务:使用killall [-iIe] [command name]
        
2、系统资源的观察
    1)free 显示当前系统的内存容量
    2)uname : 输出系统的基本信息[-asrmpi]
    3) uptime:显示当前系统已开机时间,以及1 5 15分钟的平均负载
    4)netstat :
        -a :当前系统上所有的联机、监听、套接字数据都列出来
        -t tcp网络包的数据
        -u udp 网络包数据
        -n 以端口号显示
        -l 当前正在网络监听的服务
        -p 列出该网络服务的进程PID
            netstat -tulnp :找出当前系统上已在监听的网络联机及其PID
    5)dmesg : cpu 的形式 硬盘 光盘型号
 3、进程的执行顺序
    Linux系统中每个进程都会拥有一个Priority,该属性让CPU判断哪个作业比较重要;
    nice -n -5 vi & :给一个nice值为-5用于执行vi
    renice 10 18852 :给已存在的18852的进程10的nice值
  
posted @ 2018-01-10 14:46  yeevan  阅读(2004)  评论(0编辑  收藏  举报