datetime:2022-01-08 14:34:00
author:nzb

Linux系统管理

进程管理

  • 进程管理的作用:(下面优先级由高到低)

    • 判断服务器的健康状态(CPU、内存的占用情况)

      常用命令:top

    • 查看系统中的所有进程

      命令:ps aux 和 ps -el 和 pstree

    • 杀死进程

      不常用,尽可能正常操作结束服务,不能正常关闭时再用

  • 进程查看

    • ps aux

      查看系统中所有进程,查看BSD操作系统格式

    • ps -xH

      列出所有线程

    • ps -le

      查看系统中所有进程,Linux格式

    • 输出格式的作用

      • ps aux

    • top

      查看系统健康状态:top [选项] 需要的时候使用,top命令比较耗资源

      • -d 秒数:默认每3秒更新一次,可指定

      • ?或h:显示交互模式的帮助

      • P:以CPU使用率排序,默认选项

      • M:以内存使用率排序

      • N:以PID排序

      • q:退出top

      • top命令的显示

        • 重点关注最后一个平均负载(除以 Cpu 核数,如果大于 1.5,表示超出负荷,小于 1.5 基本正常)

        • 重点关注第4个CPU的空闲率

        • 重点关注第3个内存的空闲率

    • pstree

      查看进程树:pstree [选项]

      • -p:显示进程的PID

      • -u:显示进程的所属用户

  • 进程终止

    正常命令不能终止服务时才使用

    • kill

      kill [信号] PID

      • -l:查看kill支持的信号

        小写l

      • -1 PID:重启进程

      • -9 PID:终止进程

    • killall

      按照进程名杀死,选项和kill通用:killall [选项] [信号] 进程名

      • -i:有询问

      • -I:忽略进程名的大小写 大写的i

    • pkill

      按照进程名杀死,选项和kill通用:pkill [选项] [信号] 进程名

      • 也可以加t选项跟终端号:pkill -t 终端号:按照终端号踢出用户,用 w 命令查询系统中登录的用户,然后用终端号来踢

工作管理

类似Windows的最小化

  • 把进程放入后台

    • 命令后面加&:后台继续运行

    • 在命令执行过程中,按下ctrl+z快捷键:放入后台即暂停

  • jobs

    查看后台的工作:jobs [-l]

    • -l:显示工作的PID

    • 注意:“+”号代表最近一个放入后台的工作,也是工作恢复时,默认恢复的工作;“-”号代表倒数第二个放入后台的工作。

  • fg

    恢复后台暂停的工作恢复到前台运行:fg %工作号

    • %工作号:%号可以省略,但是注意工作号和PID的区别
  • bg

    恢复后台暂停的工作恢复到后台运行:bg %工作号

    • %工作号:%号可以省略,但是注意工作号和PID的区别

    • 但是不能恢复和前台有交互的命令比如top命令和vim命令,因为就是给用户展示,后台运行没意义

  • 注意:工作号≠PID

系统资源查看

  • vmstat

    监视系统资源使用情况: vmstat [刷新延时(s) 刷新次数] 和top内容差不多,但更简洁

  • dmesg

    开机时内核检测,一般结合grep使用

  • free

    查看内存使用情况:free [选项]

    • -b:以字节为单位显示

    • -k:以KB为单位显示(默认就是)

    • -m:以MB为单位显示

    • -g:以GB为单位显示

  • 查看CPU信息:

    • cat /proc/cupinfo:每次开机都会更新

    • dmesg | grep CPU

    • uptime:实际就是top命令第一行,跟w看到的一样

  • uname

    查看系统与内核相关信息:uname [选项]

    • -a:查看系统所有相关信息

    • -r:查看内核版本

    • -s:查看内核名称

  • file /bin/ls

    判断当前系统的位数(通过系统外部命令的位数来推测)

  • lsb_release -a

    查询Linux系统的发行版本

  • lsof

    列出进程打开或使用的文件信息:lsof [选项]

    • -s 字符串:只列出以字符串开头的进程打开的文件

    • -u 用户名:只列出某个用户的进程打开的文件

    • -p pid:列出某个PID进程打开的文件

系统定时任务

  • 前提:必须启动crond服务:service crond restart,并且chkconfig crond on,Linux系统都是默认启动和自启动的

  • crontab

    设置系统定时任务:crontab [选项]

    • -e:编辑crontab定时任务

      • 打开文件编辑的格式是: * command或执行脚本

        • 第一个*:分钟(0-59)

        • 第二个*:小时(0-23)

        • 第三个*:天(1-31)

        • 第四个*:月(1-12)

        • 第五个*:星期(0-7,0和7都代表星期日)

      • 特殊符号:

      • 示例

      • 定期脚本里面的日期输出需要加“\”转义符,原本:date +%y%m%d,定时任务里的脚本:date +\%y\%m\%d
    • -l:查询crontab任务

    • -r:删除当前用户所有的crontab任务

      删一个任务,进去编辑删除需要删除的任务(vim操作)

results matching ""

    No results matching ""