进程管理
概论:
程序:静态的代码,占用磁盘空间
进程:动态的代码,占用内存、cpu(提供服务的主体)
进程的唯一标识:PID 编号
父进程/子进程 (一个父进程可以启动多个子进程) 僵尸进程 孤儿进程
systemd:所有进程的父进程、上帝进程
pstree :查看进程树
常用命令选项
-a:显示完整的命令行
-p:列出对应的PID编号
-ap :显示当前运行的所有进程 例: pstree -ap 用户名 #查看这个当前用户所有的进程
ps :查看进程快照
格式 : ps [选项]
常用命令选项
-aux :显示当前终端所有进程(a),当前用户在所有终端下的进程(x),以用户格式输出(u)
-elf :显示系统内的所有进程(-e),以长格式输出(-l),信息、包括最完整的进程信息(-f)
ps aux 操作
用户 进程ID %cpu 虚拟内存 固定内存 终端 状态 起始时间 cpu时间 程序指令
ps -elf 操作
PPID :父进程的ID
top :进程动态排名
格式:top [-d 刷新秒数 ] [-u 用户名]
top -d 1
P 进行cpu排序
M 进行内存的排序
pgrep :进程的查找/筛选
用途:pgrep 【选项】
常用选项:
-l :输出进程名,而不仅仅是PID
-U :检索指定用户的进程
-x :精确匹配完整的进程名
pgrep -l a
pgrep -lU lisi
进程前后台的调度
后台启动
在命令行末尾添加“ & ”符号,不占用当前终端
ctrl + z 组合键
挂起当前进程(暂停并转入后台)
jobs 命令
查看后台任务列表
jobs -l 查看后台任务列表,并加上PID
fg 命令
将后台任务恢复到前台运行
bg 命令
激活后台被挂起的任务
杀死进程
ctrl + c 组合键 ,中断当前命令程序
-9 强制
kill [-9] PID ... 、kill [-9] %后台任务编号
killall [-9] 进程名
pkill 查找条件
僵尸进程:僵尸即“死了还活着”,子进程已经终止了,也就是说子进程死了。但是系统会
保留子进程的信息(进程ID/终止状态/使用的CPU时间总量),这些残余信息仍然存在,
也就是说某种意义上还活着。
孤儿进程:孤儿则是父进程终止了,孤儿进程被1号init进程领养,由init进程回收
强制踢出出一个用户(杀死该用户开启的所有的进程)
killall -9 -u lisi
日志管理
日志的功能
系统和程序的“日记本”
记录系统,程序运行中的发生的各种事件
通过查看日志,了解及排除故障
信息安全控制的‘依据’
内核及系统日志
由系统服务rsyslog统一记录/管理
日志消息采用文本格式
主要记录事件发生的时间、主机、进程、内容
常见的日志文件
/var/log/messages 记录内核消息、各种服务的公共消息
/var/log/dmesg 记录系统启动过程的各种消息
/var/log/cron 记录与cron计划任务相关的消息
/var/log/maillog 记录邮件收发相关的消息
/var/log/secure 记录与访问限制相关的安全消息
用户日志:由登录程序负责记录/管理
日志消息采用二进制格式
记录登录用户的时间、来源、执行的命令等信息
/var/log/lastlog 记录最近的用户登录事件
/var/log/wtmp 记录成功的用户登录/注销事件
/var/log/btmp 记录失败的用户登录事件
/var/run/utmp 记录当前登录的每个用户的相关信息
日志分析
- 通过分析工具
tail、tailf、less、grep等文本浏览/检索命令
awk、sed等格式化过滤工具
- 专用分析工具
Webmin 系统管理套件
Webalizer、AWStats 等日志统计套件
tailf:实时跟踪日志信息
用户登录分析
users、who、w 命令
查看已登录的用户信息,详细度不同
last、lastb 命令
查看最近登录成功/失败的用户信息
last -2 查看最近登录成功
lastb -2 查看最近登录失败的2人
- 日志消息的优先级
Linux内核定义的事件紧急程度
分为0-7共8种优先级别
其数值越小,表示对应事件约紧急/重要
journalctl 工具
提取由systemd-journal 服务搜集的日志
主要包括内核/系统日志、服务日志
常见用法
journalctl | grep 关键词
journalctl -u 服务名
journalctl -n 消息条数
journalctl -u httpd
最近报错日志
journalctl -xe
systemctl控制
- Linux系统和服务管理器
是内核引导之后加载的第一个初始化进程systemd(PID=1)
负责掌控整个Linux的运行/服务资源组合
- systemd
一个更高效的系统&服务管理器
开机服务并行启动,个系统服务间的精确依赖
配置目录: /etc/systemd/system/
服务目录:/lib/systemd/system/
主要管理工具:systemctl
- 对于服务的管理
systemctl restart 服务名
systemctl start 服务名
systemctl stop 服务名
systemctl status 服务名
systemctl enable 服务名
systemctl disable 服务名
init切换级别
字符模式:multi-user.target
图形模式:graphical.target
当前直接切换到字符模式 :
systemctl isolate multi-user.target
当前直接切换到图形模式:
systemctl isolate graphical.target
查看每次开机默认进入模式 :
systemctl get-default
设置永久策略,每次开机自动进入graphical.target
换级别
字符模式:multi-user.target
图形模式:graphical.target
当前直接切换到字符模式 :
systemctl isolate multi-user.target
当前直接切换到图形模式:
systemctl isolate graphical.target
查看每次开机默认进入模式 :
systemctl get-default
设置永久策略,每次开机自动进入graphical.target
systemctl set-default multi-user.target
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)