第十二章 Linux系统状态检测及进程控制
第十二章 Linux系统状态检测及进程控制
我们将要学习:
1 . 查询当前系统的信息
2 . 查询当前系统的状态
3 . /proc 文件系统
4 . 进程的显示
5 . 控制进程
6 . 控制台的前台和后台
1、系统信息的收集
? hostname 显示或设置主机名
? uname 显示系统信息
? last 显示最近的用户登录
? lastlog 显示每个用户的登录情况
修改主机名称: centos 和rhel7是一样的,7之前是修改hosts、network两个文件
在修改静态,瞬态主机名时,任何特殊字符或空白字符会被移除,而提供的参数中的任何大写字母会自动转化为小写。一旦修改了静态主机名,/etc/hostname将被自动更新。然而,/etc/hosts不会更新以保存所做的修改,所以你需要手动更新 /etc/hosts。
如果你只想修改特定的主机名(静态,瞬态或灵活),你可以使用"--static","--transient"或“--pretty”选项,例如只修改静态主机名:
$ sudo hostnamectl --static set-hostname liwei
last 详解: 说明:显示系统开机以来获是从每月初登入者的讯息
-R 省略 hostname 的栏位 ; -num 展示前 num 个 ; uname 展示 uname 的登入讯息;
tty 限制登入讯息包含终端机代号
2、系统状态
? /proc文件系统
? free 查看内存的使用情况
? df 查看硬盘使用情况
? du 查看文件大小
?
free [-b | -k | -m ]
-b 以字节为单位显示;-k 以 K 字节为单位显示;-m 以兆字节为单位显示。
常用的/proc 下的文件:
cat /proc 中的重要信息
cat /proc/cpuinfo - CPU (i.e. vendor, Mhz, flags like mmx)
cat /proc/interrupts - 中断
cat /proc/ioports - 设备 IO 端口
cat /proc/meminfo - 内存信息(i.e. mem used,free, swap size)
cat /proc/partitions - 所有设备的所有分区
cat /proc/pci - PCI 设备的信息
cat /proc/swaps - 所有 Swap 分区的信息
cat /proc/version - Linux 的版本号
/proc 目录下的常用目录
/proc/scsi scsi 设备信息
/proc/ide ide 设备信息
/proc/net 网络状态与配置信息
/proc/sys 核心配置参数
/proc/<PID> 进程的信息
3、了解/proc目录
? /proc 目录是虚拟的文件系统,包含正在运行的核心信息
? cat /proc/下的文件获得系统的信息
? 包括系统硬件、网络设置、内存使用
? /proc/sys 目录中文件,允许root更改,这些变动将会直接影响当前内核
4、系统日志文件
? 系统日志记录系统运行中的记录信息
? 服务或系统发生故障的时候,查询系统日志,帮助我们诊断原因
? 系统日志可以预警安全问题
? 系统日志一般都存放在/var/log目录下
5、常用系统日志
? /var/log/dmesg 核心启动日志
? /var/log/messages 系统报错日志
? /var/log/maillog 邮件系统日志
? /var/log/boot.log 系统引导过程日志
? /var/log/cron 记录守护进程派生子进程
? /var/log/syslog 记录警告信息
? /var/log/wtmp 永久记录用户登陆事件
? /var/log/xferlog 记录FTP会话
? /var/log/secure 安全信息
6、查看进程状态
? 查看进程的命令:ps[option]
? pstree 可用来以树状的方式表现进程的父子关系
? Top 是常用的系统监视工具
Linux 操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性。
交互进程—由一个 shell 启动的进程。交互进程既可以在前台运行,也可以在后台运行。
批处理进程—这种进程和终端没有联系,是一个进程序列。
监控进程(也称守护进程)—Linux 系统启动时启动的进程,并在后台运行。
top 命令 进入后:?帮助,M内存排序,k杀进程,n进程优先级调高或是低
top ps
ps 的常用参数:
-a 显示所有进程,但不包括不隶属于任何一个终端的进程
-u 显示不属于任何一个终端的进程,诸如各类系统网络服务的后台程序
-l 以长模式显示进程的信息
-u 显示进程的拥有者信息
-x 显示没有控制终端的进程
在 ps 的参数中,是否加-号,表示不同的参数。
ps aux -ef ps aux | grep find查看find进程
pstree
kill 后面跟:kill httpd ;killall httpd ; kill -9 httpd ;kill –9 进程号
skill
pkill –u
上面这一列:S代表睡眠sleep;T代表stop;R代表running;D代表深度睡眠
Z代表僵尸进程;<代表高优先级进程;N低优先级进程
控制进程
? kill:语法:kill [-signal]PID
向进程传送一个特定的讯号
默认为15(终结)(终结)
kill -l :列出所有可以由kill传递的讯号
? Killall
? Skill
? pkill
进程的优先级
? 进程优先级 用nice值来表示
? Nice 以一个不同的nice值来运行指令
nice -n num command
? Renice 改变运行进程的nice值
renice -n pid
控制台的前台和后台
? 命令默认在前台运行
? 但控制台可以都允许多个后台进程
–如:Find / -name aaa & 直接运行在后台
控制台的任务
? jobs: 显示系统当前后台任务列表
? Kill %1 控制第1个任务
? fg: : 将后台进程放入前台,并运行
? bg: **后台暂停的进程