进程管理

进程和程序之间的关系 程序 #静态没有执行的代码 只会占用磁盘空间 进程 #执行的代码放入内存中运行 占用内存 CPU PID #编号 标识进程 PID越小越优先运行 父进程 #一般由管理员运行 子进程 #一般由父进程调动 当父进程衰亡时 会先杀死所有由自己调动的子进程

查看进程树

pstree #Processes Tree 格式 pstree 选项 PID或者用户名 常用命令选项 -a:显示完整的命令行 -p:列出对应PID编号

systemd:内核直接运行的第一个进程,PID永远为1

]# pstree ]# pstree lisi bash───vim ]# pstree -p lisi bash(30712)───vim(30751) ]# pstree -ap lisi

ps

ps aux 操作 列出正在运行的所有进程

ps -elf 操作 列出正在运行的所有进程

top

交互式工具 格式: top [-d 刷新秒数]

按大写的P cpu排序 按大写的M 内存排序

pgrep — Process Grep

用途:pgrep [选项]... 查询条件

常用命令选项 -l:输出进程名,而不仅仅是 PID -U:检索指定用户的进程 -t:检索指定终端的进程

]# pgrep log ]# pgrep -l log

]# pgrep -U lisi ]# pgrep -lU lisi ]# pstree -ap lisi

]# who #查看正在登陆的用户信息 ]# pgrep -lU lisi ]# pgrep -lU lisi -t pts/2

进程的调度(前后台)

放入后台启动 在命令行末尾添加“&”符号,正在运行的状态放入后台 Ctrl + z 组合键,暂停的状态放入后台

]# sleep 800 & #将前台的进程,正在运行放入后台
]# jobs #查看后台进程

]# jobs -l #查看后台进程,并且加上PID ]# sleep 700 ^Z #按Ctrl+z可以暂停放入后台 [2]+ 已停止 sleep 700 ]# jobs -l ]# bg 2 #将后台进程编号为2的,继续在后台运行 [2]+ sleep 700 & ]# jobs -l ]# fg 1 #将后台的进程恢复到前台 sleep 800 ^C #按Ctrl+c结束进程 ]# fg 2 sleep 700 ^C #按Ctrl+c结束进程

杀死进程

kill [-9] PID... killall [-9] 进程名...

]# sleep 900 & ]# sleep 900 & ]# sleep 900 & ]# sleep 900 & ]# jobs -l ]# kill 1928 ]# jobs -l ]# killall sleep ]# jobs -l

]# killall -9 -u lisi #强制踢出一个用户

日志管理

日志 系统和程序的日记本 记录系统 程序运行中发生的各种时间 通过查看日志 了解以及排除故障 信息安全控制的依据

主要用途 /var/log/messages 记录内核消息、各种服务的公共消息 /var/log/dmesg 记录系统启动过程的各种消息 /var/log/cron 记录与cron计划任务相关的消息 /var/log/maillog 记录邮件收发相关的消息 /var/log/secure 记录与访问限制相关的安全消息

tailf

实时跟踪 新增日值消息

users、who、w 命令

查看已登录的用户信息,详细度不同

last、lastb 命令

查看最近登录成功/失败的用户信息

]# users ]# who ]# w ]# last -2 #最近两次登录成功 ]# lastb -2 #最近两次登录失败

Linux内核定义的事件紧急程度

分为 0~7 共8种优先级别 其数值越小,表示对应事件越紧急/重要

0 EMERG(紧急) 会导致主机系统不可用的情况 1 ALERT(警告) 必须马上采取措施解决的问题 2 CRIT(严重) 比较严重的情况 3 ERR(错误) 运行出现错误 4 WARNING(提醒) 可能会影响系统功能的事件 5 NOTICE(注意) 不会影响系统但值得注意 6 INFO(信息) 一般信息 7 DEBUG(调试) 程序或系统调试信息等

提取由 systemd-journal 服务搜集的日志 常见用法 journalctl | grep 关键词 journalctl -u 服务名 [-p 优先级] journalctl -n 消息条数 journalctl --since="yyyy-mm-dd HH:MM:SS" -- until="yyyy-mm-dd HH:MM:SS"

]# yum -y install httpd ]# systemctl restart httpd ]# journalctl -u httpd -p 6

systemctl控制

systemd 一个更高效的系统&服务管理器 开机服务并行启动,各系统服务间的精确依赖 服务目录:/lib/systemd/system/

控制服务状态 systemctl start|stop|restart 服务名...

查看服务的运行状态 systemctl status|is-active 服务名... systemctl is-enabled httpd #查看是否随机自起

graphical.target 图形模式
multi-user.target 文本模式

当前切换图形模式
]# systemctl isolate graphical.target

每次开机都进入的模式,默认模式的修改 ]# systemctl get-default ]# systemctl set-default graphical.target ]# systemctl get-default ]# reboot