系统进程管理

ps 查看系统进程命令

启动进程的方式:
    系统启动过程中自动启动:与终端无关的进程;
    用户通过终端启动:与终端相关的进程;

选项:    
    a:所有与终端相关的进程;
    x:所有与终端无关的进程;
    u:以用户为中心阻止进程状态信息显示;
常用组合之一:aux
[root@centous1 zuoye]# ps auxUSER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.1  19364  1536 ?        Ss   16:50   0:01 /sbin/init
root          2  0.0  0.0      0     0 ?        S    16:50   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    16:50   0:00 [migration/0]
root          4  0.0  0.0      0     0 ?        S    16:50   0:00 [ksoftirqd/0]
root          5  0.0  0.0      0     0 ?        S    16:50   0:00 [stopper/0]
root          6  0.0  0.0      0     0 ?        S    16:50   0:00 [watchdog/0]
root          7  0.0  0.0      0     0 ?        S    16:50   0:00 [migration/1]
root          8  0.0  0.0      0     0 ?        S    16:50   0:00 [stopper/1]


VSZ:虚拟内存集;
RSS:Resident Size(常驻内存);
STAT:
    R:running
    S:interruptale sleeping(可中断睡眠)
    D:uninterruptable sleeping(不可中断睡眠)
    T:Stopped
    Z:zombie(僵尸进程)
    
    +:前台进程
    l:多线程进程
    N:低优先级进程
    <:高优先级进程
    s:session leader(进程的最开头进程)
    
    -e:显示所有进程
    -f:显示完整格式的进程信息
    
    常用组合之二 -ef:
    
    -F:显示完整格式的进程信息;
        C:cpu utilization(cpu占用率)
        PSR:运行在哪颗CPU之上
    -H:以层级结构显示进程的相关信息;
    
    常用组合之三:-eFH

pgrep,pkill,top命令:

根据进程名或其他属性来查询进程或发送信号

pgrep -t terminel : 与指定的终端相关进程
    -l:显示程序名    -a:显示完整格式的进程名;    -p pid:显示此进程的子进程    也可以直接加字符串,查看包含字符串的进程
    
pidof命令:
    根据进程名,取其pid
    
top命令:
    -display linux process
[root@centous1 zuoye]# toptop - 22:02:39 up  5:12(运行时长),  1 user,  load average(平均负载): 0.07, 0.06, 0.01(队列的长度不要超过CPU个数)
Tasks(任务): 129 total,   1 running, 128 sleeping,   0 stopped,   0 zombie(僵死)
Cpu(s):  0.0%us(用户空间进程占据的百分比),  0.1%sy(内核占用),  0.0%ni(用于nice调整), 99.8%id(空闲),  0.0%wa(等待IO),  0.0%hi(硬件中断),  0.1%si(软件终中断),  0.0%st(被虚拟化偷走的)
Mem:   1004348k total,   192132k used,   812216k free,    21320k buffers
Swap:   204796k total,        0k used,   204796k free,    85156k cached
uptime命令:显示系统时间、运行时长及平均负载;
    过去一分钟、五分钟和十五分钟的平均负载;
    等待运行的进程队列的长度;

htop命令;

选项:
    -d num:指定延迟时间间隔;    -u UserName:仅显示指定用户的进程    -s COLUME: 以指定字段进行排序;子命令:
l:显示选定的进程打开的文件列表
s:跟踪选定的进程系统调用;
t:以层级关系显示各进程状态;
a:将选定的进程绑定至某指定的CPU核心;

vmstat查看虚拟内存的使用情况;

vmstat 2:以2秒为间隔,不断刷新
vmstat 2 3 : 以2秒为间隔,刷新三次

procs:
    r:等待运行的进程的个数;CPU上等待运行的任务的队列长度
    b:处于不可中断睡眠态的进程个数;被阻塞的任务队列的长度;
    swpd:交换内存使用总量;
    buffer:用于buffer的内存总量;
    cache: 用于cache的内存总量;
    
swap
    si:数据进入swap中的数据速率(kb/s)
    so:数据离开swap的速率(kb/s)
io
    bi:从块设备读入数据到系统的速度(kb/s)
    bo:保存数据至块设备的速率(kb/s)
system
    in:interrupts,中断速率;
    cs:context switch,上下文切换的速率;

dstat命令:

常用选项:
    
    -c 显示CPU相关信息;    -d 显示磁盘的相关信息        -D sda,sdb...    -g:显示page的相关的速率数据;    -m:Memory的相关统计数据;    -n:Lnterface的相关统计数据;    -p:显示process的相关统计数据;    -r:显示io请求的相关统计数据;    -s:显示swapped的相关统计数据;

glances命令

内部选项;
常用选项:
    -b:以Byte为单位显示网上数据速率;    -d:关闭磁盘I/O模块    -m:关闭mount模块;    -n:关闭network模块;    -t #:刷新时间间隔;    -1 :每个CPU的相关数据单独显示;    -o{HTML|CSV}:输出格式;    -f /PATH/TO/SOMEDIR :设定输出文件的位置C/S模式下运行glances命令:
    服务模式:
        glances -s -B IPADDR
        
        IPADDR:本机的某地址,用于监听;
    客户端模式:
        glances -c IPADDR
        ipADDR :是远程服务器地址;

kill命令:

常用命令:    1)SIGHUP:无须关闭进程而让其重读配置文件;    2)SIGINT:终止正在进行的进程,相当于ctrl+c    9)SIGKILL:杀死运行中的进程    15)SIGTERM:终止运行中的进程;
    killall 可以把一个进程的全部进程关掉;

Liunx系统作业控制:

job:

前台作业(foregroud):通过终端启动,且启动后会一直占据终端

后台作业(backgroud):可以通过终端启动,但启动后即转入后台运行(释放终端)

如何让作业运行于后台?

(1)运行中的作业

curl+z
注意:送往后台后,作业转为停止态

(2)尚未启动的作业

#COMMAND &
注意:此类作业虽然被送往后台,但其依然与终端相关(意思是如果终端终止,那么从终端开启的后台也会终止);如果希望把送往后台的作业剥离与终端的关系:#nohup COMMEND &(转为与终端无关的模式)

作业前边有加减号的显示,“+”的意思就是可以用fg命令后便不用接参数直接调回来。“—” 不如“+”优先级高

查看所有作业:

#jobs

可实现作业控制的常用命令:

#fg[[%]JOB_number]:把指定的作业调回前台%可以省略

#bg[[%]JOB_number]:让送往后台的作业在后台继续运行 %可以省略

#kill[%JOB_number]:终止指定的作业%不能省略,因为省略了就成了进程ID号了不是作业号。

调整进程优先级: 可通过nice值调整的优先级范围:100-139 进程启动时,其nice值默认为0,其优先级是120;

nice命令; 以指定的nice值启动并运行命令 nice[option][command]参数… -n 指定nice值 注意:仅管理员可调低nice值

renice命令(调整已经启动的进程):

renlice -n -3 进程ID

查询进程优先级 ps axo pid,comm,ni,priority | grep htop

本地电子邮件服务:

smtp:slmple mail transmission protocol 只能接收邮件
pop3:post Office procotol 用来接收邮件
imap4:Internet mail access procotol 用来接收邮件

mail命令:

mailx [-s 'SUBJECT'] username [@hostname](hostname如果是本地则不用写)
邮件正文的生成:
(1)交互式输入:单独成行表示正文结束;curl+d提交即可;
(2)通过输入重定向
(3)通过管道;

at命令

at [option]...TIME
    
    TIME:
        HH:MM:SS [YYY-mm-dd]
        noon(中午十二点),midnight(半夜十二点),teatime(下午茶时间下午四点)

常用选项:
    -l:查看任务队列    -f /PATH/FROM/SOMEFEIL:从指定文件中读取任务,不用交互式输入了    -d:删除(加上任务号)    -c:查看指定作业的具体内容    -q QUEUE:指明队列;

注意:作业执行结果是以邮件发送给提交作业用户;

向crond提交作业的方式不同于at,他需要使用专用的配置文件,此文件有固定格式,不建议直接使用文件编辑器来编辑此文件;要使用crontab命令;

cron任务分为两类:
    系统cron任务:主要用于实现系统自身的维护;用户cron任务:
    命令:crontab命令

系统cron的配置格式: SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root

(1)每一行定义一个周期性任务:    * * * * * :定义周期性时间
    user-name:运行任务的用户身份
    command to be executed:任务
(2)此处的环境变量不同于用户登录后获得的环境,因此,建议命令使用绝对路径,或者自定义变量;
(3)执行结果邮件发送给MAILTO指定的用户

用户cron的配置格式: /var/spool/cron/USERNAME

SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root

(1)每行定义一个cron任务,共6个子弹;

(2)此处的环境变量不同于用户登录后的环境,因此,建议命令使用绝对路径,或者自定义PATH环境变量;

(3)邮件发送给当前用户;

时间表示法:

(1)特定值;
    给定时间点有效取值范围内的值;
    注意:day of week和day of mouth不同时使用
(2)给定时间点上有效取值范围的所有值;
*代表的含义:分钟、小时、天、月、星期几
示例:
(1)3 * * * *:每小时执行一次;每小时的第三分钟;
(2)3 4 * * 5:每周执行一次;每周5的4点3分;
(3)5 6 7 * *:每月执行一次;每月的7号6点5分;
(4)7 8 9 10 *:每年执行一次;每年的10月9号8点7分;
(5)9 8 * *3,7:每周三和周日8点9分
(6)0 8,20 * * 3,7:没周三和周日的8点和20点
(7)0 9-18 * * 1-5:周一到周五的9-18点
(8)*/5 * * * *:每5分钟执行一次任务(指定时间点不能被步长整除时,其意义将不复存在最小时间单位为“分钟”,想完成“秒”级人物,的需要利用脚本实现);

crontab命令:
    
    crontab -e:编辑任务;
    crontab -l:列出所有任务
    crontab -r:删除所有任务;即删除 /var/spool/cron/USERNAME文件
    crontab -u username:可以给别的用户定义定时任务
注意:运行结果以邮件通知给用户;如果拒绝接收邮件:
(1)COMMAND > /dev/null

注意:定义COMMEND时,如果命令需要用到%,需要对其转义;但放置于单引号中的%不用转义;

思考:某任务在指定的时间因关机未能执行,下次开机会不会执行?
不会
如果期望时间因故未能按时执行,下次开机后无论是否到了响应时间点都要执行一次,可用anacron实现;

traceroute 目标IP :可以显示从源主机到目标主机所经过的网关;

原创文章,作者:forest,如若转载,请注明出处:http://www.178linux.com/43726

(0)
forestforest
上一篇 2016-09-06 09:38
下一篇 2016-09-06 09:50

相关推荐

  • Linux网络管理命令的使用

    网络管理命令 ip命令 配置Linux网络属性:ip命令,不过该命令的操作只是临时操作,重启以后配置丢失 ip-show / manipulate routing, devices, policy routing and tunnels ip [ OPTIONS ] OBJECT { COMMAND | help }    &n…

    Linux干货 2016-09-11
  • 第七周学习总结–系统启动流程

    写在前面 作为一个理工科的你,我相信你一定给自己或者给别人装过windows操作系统,作为windows操作系统都图形化了,因此我们可能很难去了解中间都发生了什么。比如使用U盘安装的时候,网上一大堆某某某U盘制作系统工具,按照网上的教程,制作完成以后,就可以在要装系统的电脑上点击电源键狂按F12(不同的电脑可能不同)进入BIOS设置了,然后就等着使用了。作为…

    2018-01-14
  • LVM理论及实践

    LVM综述创建LV创建PV:pvcreate DEVICES创建VG:vgcreate VG_NAME PV_DEVICES创建lv格式化:mkfs.ext4 /dev/vg0/lv0挂载LVM的扩展扩展LV:lvextend扩展后检查挂载文件夹大小,发现扩展前后没有变化这是因为硬盘的修改需要同步:resize2fs /dev/vg0/lv0假设这时候VG的…

    Linux干货 2016-09-19
  • 马哥教育网络班21期-第七周课程练习

    第七周作业 1、创建一个10G分区,并格式为ext4文件系统; [root@qq ~]# fdisk /dev/sdb         #使用fdisk命令进行分区; Device contains neither&nb…

    Linux干货 2016-08-08
  • 马哥教育网络班22期第二周课程练习1-未闻花名

    1、Linux管理文件和目录的命令 命令 功能 命令 功能 pwd 显示当前目录 ls 查看目录下的内容 cd 改变所在目录 cat 显示文件的内容 grep 在文件中查找某字符 cp 复制文件 touch 创建文件 mv 移动文件 rm 删除文件 rmdir 删除目录 1.1 pwd命令 该命令的英文解释为print working directory(打…

    Linux干货 2016-08-29
  • lvs-dr 原理与配置

    Lvs-dr 原理与配置 目录     1、ARP介绍     2、DR模式数据包请求响应流程     3、配置过程    4、总结 1、ARP协议介绍 功能:局域网内,根据IP地址获取MAC地址。 互联网上面…

    Linux干货 2015-09-16