• (十六)Linux命令大全:Linux系统管理


    1.进程管理

        1).进程查看
            ①.查看系统中所有进程
                ps aux【查看系统中所有进程,使用BSD操作系统格式】
                ps -le【查看系统中所有进程,使用Linux标准命令格式】
                    >USER:该进程是由哪个用户产生的.
                    >PID:进程的ID号.
                    >%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源.
                    >%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源.
                    >VSZ:该进程占用虚拟内存的大小,单位KB.
                    >RSS:该进程占用实际物理内存的大小,单位KB.
                    >TTY:该进程是在哪个终端中运行的.其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端.pts/0-255代表虚拟终端.
                    >STAT:进程状态.常见的状态有,R:运行,S:睡眠,T:停止状态,s:包含子进程,+:位于后台
                    >START:该进程的启动时间
                    >TIME:该进程占用CPU的运算时间,注意不是系统时间
                    >COMMAND:产生此进程的命令名
            ②.查看系统健康状态
                top [选项]【-d 秒数:指定top命令每隔几秒更新.默认是3秒】
                在top命令的交互模式当中可以执行的命令:
                    ?或h:显示交互模式的帮助
                    P:以CPU使用率排序,默认就是此项
                    M:以内存的使用率排序
                    N:以PID排序
                    q:退出top
                ------------说明top命令后的信息----------------------
                第一行信息为任务队列信息
                    12:25:12-----系统当前时间
                    up 1 day, 13:22-----系统的运行时间,本机已经运行1天13小时22分钟
                    2 users-----当前登录了两个用户
                    load average: 0.00, 0.00, 0.00-----【重点】系统在之前1分钟,5分钟,15分钟的平均负载.一般认为小于1时,负载较小.如果大于1,系统已经超出负荷.
                第二行为进程信息
                    Tasks:  84 total-----系统中的进程总数
                    1 running-----正在运行的进程数
                    94 sleeping-----睡眠的进程
                    0 stopped-----正在停止的进程
                    0 zombie-----僵尸进程.如果不是0,需要手工检查僵尸进程
                第三行为CPU信息
                    Cpu(s):  0.0%us-----用户模式占用的CPU百分比
                    0.1%sy-----系统模式占用的CPU百分比
                    0.0%ni-----改变过优先级的用户进程占用的CPU百分比
                    99.7%id-----【重点】空闲CPU的CPU百分比
                    0.1%wa-----等待输入/输出的进程的占用CPU百分比.
                    0.0%hi-----硬中断请求服务占用的CPU百分比.
                    0.1%si-----软中断请求服务占用的CPU百分比.
                    0.0%st-----st(Steal time)虚拟时间百分比.就是当有虚拟机时,虚拟CPU等待实际CPU的时间百分比.
                第四行为物理内存信息
                    Mem:   1030532k total-----物理内存的总量,单位KB
                    213760k used-----已经使用的物理内存数量
                    816772k free-----【重点】空闲的物理内存数量,我们使用的是虚拟机,总共只分配了1024MB内存,所以只有816MB的空闲内存了
                    22836k buffers-----作为缓冲的内存数量
                第五行为交换分区(swap)信息
                    Swap:  1048568k total-----交换分区(虚拟内存)的总大小
                    0k used-----已经使用的交互分区的大小
                    1048568k free-----空闲交换分区的大小
                    118624k cached-----作为缓存的交互分区的大小
            ③.查看进程树
                pstree [选项]【-p:显示进程的PID,-u:显示进程的所属用户】
        2).进程管理
            ①.kill命令
                kill -l【查看可用的进程信号】
                    -----------常用信号-----------------------
                    1:SIGHUP:该信号让进程立即关闭,然后重新读取配置文件之后重启.
                    2:SIGINT:程序终止信号,用于终止前台进程.相当于输出ctrl+c快捷键.
                    8:SIGFPE:在发生致命的算术运算错误时发出.不仅包括浮点运算错误,还包括溢出及除数为0等其他所有的算术的错误.
                    9:SIGKILL:用来立即结束程序的运行.本信号不能被阻塞、处理和忽略.一般用于强制终止进程.
                    14:SIGALRM:时钟定时信号,计算的是实际的时间或时钟时间.alarm函数使用该信号.
                    15:SIGTERM:正常结束进程的信号,kill命令的默认信号.有时如果进程已经发生问题,这个信号是无法正常终止进程的,我们才会尝试SIGKILL信号,也就是信号9.
                    18:SIGCONT:该信号可以让暂停的进程恢复执行,本信号不能被阻断.
                    19:SIGSTOP:该信号可以暂停前台进程,相当于输入ctrl+z快捷键.本信号不能被阻断.
                  eg:
                      
    
            ②.killall命令
                killall [选项][信号] 进程名【按照进程名杀死进程】
                    -i:交互式,询问是否要杀死某个进程
                    -I:忽略进程名的大小写
               eg:
                 
    
            ③.pkill命令
                pkill [选项][信号] 进程名【按照进程名终止进程】
                    -t 终端号:按照终端号踢出用户
                    ---------按照终端号踢出用户--------------------
                    w【使用w命令查询本机已经登录的用户】
                    pkill -9 -t pts/0【强制杀死从pts/0虚拟终端登录的进程,注意:-9和-t的位置不能换,否则踢出失败】
                 eg:
                 ![](https://img2020.cnblogs.com/blog/1223444/202004/1223444-20200428013154714-1434753185.png)
    
    
    
            ④.终止进程
                kill -15 [进程的PID]
    

    2.工作管理

        1).把进程放入后台
            >eg1: tar -zcf etc.tar.gz /etc &【在命令后面加上"&"符号,后台运行】
            >eg2: top【在top命令执行的过程中,按下ctrl+z快捷键,后台暂停】
        2).查看后台的工作
            jobs -l【-l:显示工作的PID】
            注:"+"号代表最近一个放入后台的工作,也是工作恢复时,默认恢复的工作."-"号代表倒数第二个放入后台的工作.
        3).将后台暂停的工作恢复到前台执行
            fg %工作号【%工作号:"%"号可以省略,但是注意工作号和PID的区别】
        4).将后台暂停的工作恢复到后台执行
            bg %工作号【注:后台恢复执行的命令,是不能和前台有交互的,否则不能恢复到后台执行(top、vim这些命令是不能在后台运行的)】
    

    3.系统资源查看

        1).vmstat命令监控系统资源
            vmstat [刷新延时 刷新次数]【vmstat 1 3:监听3次我的系统资源,每次间隔1秒】
        2).dmesg开机时内核检测信息(用来查看相关的硬件信息)
            dmesg | grep CPU
            
    
            每次开机后会重新检测 /proc/cpuinfo 文件。
        3).free命令查看内存使用状态
            free [-b|-k|-m|-g]
                -b:以字节为单位显示
                -k:以KB为单位显示,默认就是以KB为单位显示
                -m:以MB为单位显示
                -g:以GB为单位显示
        4).查看CPU信息
            cat /proc/cpuinfo
        5).uptime命令
            uptime【显示系统的启动时间和平均负载,也就是top命令的第一行.w命令也可以看到这个数据】
        6).查看系统与内核相关信息
            uname [选项]【-a:查看系统所有相关信息,-r:查看内核版本,-s:查看内核名称】
            file /bin/ls【判断当前系统的位数】
            lsb_release -a【查询当前Linux系统的发行版本】
        7).列出进程打开或使用的文件信息
            lsof [选项]【列出进程调用或打开的文件的信息】
                -c 字符串:只列出以字符串开头的进程打开的文件
                -u 用户名:只列出某个用户的进程打开的文件
                -p pid:列出某个PID进程打开的文件
    

    4.系统定时任务

        1).crond服务管理与访问控制【系统默认自启动】
            service crond restart【】
            chkconfig crond on【】
        2).用户的crontab设置
            crontab [选项]【-e:编辑crontab定时任务,-l:查询crontab任务,-r:删除当前用户所有的crontab任务】
            ----------格式----------------------------------------------------------------------------------------------------------
            * * * * * 执行的任务
    
            -----------“*”的含义--------------------------------------------------------------------------------------------------
            第一个"*":一小时当中的第几分钟:0-59
            第二个"*":一天当中的第几小时:0-23
            第三个"*":一个月当中的第几天:1-31
            第四个"*":一年当中的第几月:1-12
            第五个"*":一周当中的星期几:0-7(0和7都代表星期日)
            eg:
            
    
            ----------------特殊符号说明---------------------------------------------------------------------------------------------
            *:代表任何时间.比如第一个"*"就代表一小时中每分钟都执行一次的意思.
            ,:代表不连续的时间.比如"0 8,12,16 * * * 命令",就代表在每天的8点0分,12点0分,16点0分都执行一次命令.
            -:代表连续的时间范围.比如"0 5 * * 1-6 命令",代表在周一到周六的凌晨5点0分执行命令
            */n:代表每隔多久执行一次.比如"*/10 * * * * 命令",代表每隔10分钟就执行一遍命令
            --------------例子-----------------------------------------------------------------------------------------------------------
            45 22 * * * 命令-----在22点45分执行命令
            0 17 * * 1 命令-----每周一的17点0分执行命令
            0 5 1,15 * * 命令-----每月1号和15号的凌晨5点0分执行命令
            40 4 * * 1-5 命令-----每周一到周五的凌晨4点40分执行命令
            */10 4 * * * 命令-----每天的凌晨4点,每隔10分钟执行一次命令
            0 0 1,15 * 1 命令-----每月1号和15号,每周一的0点0分都会执行命令.注意:星期几和几号最好不要同时出现,因为它们定义的都是天.非常容易让管理员混乱.
        3).定时操作
            crontab -l 【定时任务列表】
            crontab -e【编辑定时任务】
            crontab -r【清空定时任务】
  • 相关阅读:
    淘宝的样式初始化
    手机上 input submit ios和andirod样式不统一
    css实现div左侧突出一个带边框的三角形
    git不提交某个文件
    判断一个对象是否是数组
    操作对象的几种方法
    LWIP互联网资料汇总
    stm32 看门狗
    SPI协议再读
    每天要做的事
  • 原文地址:https://www.cnblogs.com/everyingo/p/12791485.html
Copyright © 2020-2023  润新知