赞
踩
本文主要对linux系统中进程进行学习了解,主要内容包括进程查看命令,进程的优先级调用,进程的前后台调用,systemd守护进程以及系统中的登陆审计,学习好本章内容对后续linux远程登陆有很大的帮助。
进程&线程
进程是程序运行时的状态,是程序的一个副本,而程序是静态的代码文件,进程具有周期性,包括准备期、运行期、终止期。
进程是资源调用的最小单位,每一个进程调用的资源是不可以彼此调用的。
由于cpu核心数量增加了,如果没有线程的概念,一个cpu工作,其他的都在休息不能达到双核同时工作的手段;有了线程,将进程细化,多个核心同时处理多个进程,进而完成程序。
进程状态包括:
可执行:R(TASK_RUNNING)(runing,ready)
可唤醒休眠:S(TASK_INTRRUPTABLE)
不可唤醒休眠:D(TASK_UNINTRRUPTABLE)
暂停状态:T(TASK_STOP)
僵死态:(EXIT_ZOMBIE)
gnome-system-monitor 有图的查看进程
-a unix风格
a BSD风格
ps a #与终端相关的进程(用户登录系统后产生的进程都是带终端的)
ps x #与终端无关的进程
ps u #用户信息归类的查看方式
ps f #进程层级关系
ps o #显示指定参数pid comm nice pri pcpu ppid
可结合使用:
ps aux 用用户归类的方式查看所有进程
ps axf 用层级关系的方式查看所有进程
ps ax -o %cpu,%mem,pid,user,group | less 查看所有进程的cpu占比,内存占比,pid,用户,用户组
unix风格
-e 显示所有进程
-f 显示信息的完整格式 注:-f与f意义不同
-H 显示进程的层级结构
-o 显示指定参数
操作与BSD风格相似。
ps ax | less
显示信息包括:
pid:进程id
tty:进程用到的终端
stat:进程状态
time:进程占用cpu时常
command:进程名称
ps aux | less 显示信息包括
USER:进程所有人
PID:进程id
%CPU:进程使用cpu的用量
%MEM:进程所用到的内存用量
VSZ:进程使用的虚拟内存大小
RSS:进程常驻内存中的数据大小
TTY:进程用到的终端
STAT:进程状态
START:进程运行时长
TIME:进程占用cpu时长
COMMAND:进程名称
pgrep -a 显示进程的完整名称 不能单独使用=用 -al(顺序不能换)
pgrep -P 下时进程的子进程
具体测试流程为:
shell—>gedit---->pidof gedit> pgrep -P gid(shell) ;pidof gedit 查看gedit的pid。
#09:48:51 系统时间 #up 18:54 运行时长 #2 users 系统中有两个用户登陆 #load average: 0.75, 0.53, 0.41 1min 5min 15min #Tasks: #331 total 任务总量 #3 running 正在运行 #329 sleeping 休眠人物数量 #0 stopped 被暂停数量 #0 zombie 僵死人物数量 #%Cpu(s) #1.5 us 用户空间 #1.9 sy 内核空间 #0.0 ni nice值调整时间 #58.9 id 空闲时间 #0.0 wa 等待io时间 #2.1 hi 处理硬件中断时间 #0.2 si 处理软件中断时间 #0.0 st 被偷走的时间(vm使用时间) #MiB Mem : #7664.6 total, 总量 #5383.9 free 空闲 #1312.1 used 占用 #968.8 buff/cache 缓存 #MiB Swap: 交换分区用量
top外部命令
top -d 指定刷新频率(秒)
-b 以批次形式显示(但不会自动退出top界面)
-n 指定显示批次的数量
top -bn 3 以批次显示,共显示3批次,结束后退出top界面
top的内部命令:进入top界面后可操作的指令
l 去掉/显示uptime信息 顶格时间的这一行
P cpu排序
M 内存排序
T 累计占用cpu时间排序 ,TIME+这一列,进程使用cpu时间总计
t 关闭/开启cpu&task 不同类型的显示
s 指定刷新频率
k 操作进程
k 15正常结束 9强制关闭
u 查看指定用户进程
系统中会存在多个用户的多个任务,任务的重要性是有区分的,体现在系统的优先级上
优先级范围:0-139 0高 139低
用户可控100-139
nice linux里显示的优先级
pri UNIX里显示的优先级
nice中的-20~19对应用户可控的100-139
后台运行cat进程,通过pgrep抓取进程指定信息包括nice,pri,pid
ps ax -o nice,pri,pid | pgrep cat
renice -n -1 pid 修改的 调节范围 -20~19
stat:
S<+ : #S表示正在sleeing,running的一种;
+: #正在shell前台运行
<: #表优先级较高
s: #顶级进程
T stop: 可用kill结束进程,或者进入top界面查找到后按15正常退出
R: running
N :#优先级低
ctrl+z 暂停,挂起
jobs 查看shell在后台运行的所有进程
bg 1 后台运行
fg 1 前台运行
gedit & 运行进程在后台
可控信号
1 重新加载系统配置文件
2 kill -2 pid == ctrl + c 清理内存中的进程
3 ctrl+\ #清空鼠标
9 #强制关闭
15 #正常关闭
19 暂停程序(不会被阻塞)
20 暂停程序(会被阻塞)
18 运行中被暂停的进程
kill #结束进程 kill -9 后面加进程编号
killall #批量结束进程 killall -9 后面加进程名字
pkill -u #结束一个用户的进程 pgrep -U 抓取一个用户的进程,然后 pkill -u 删除
实验环境
配置主机ip 172.25.254.39
配置虚拟机ip 172.25.254.139
nm-connection-editor 设置网络 网卡,
ip addr show ens3 显示网卡上的配置信息
ssh在主机中登陆虚拟机
systemctl 管理系统服务
systemctl status sshd
start 开启进程sshd
stop
restart
reload 不关闭服务下修改配置 id不变
enabled 开机自动启动
disable 取消开机自动开启
disable --now 当前也取消,以后开机也取消
list-units 所有服当前状态
plugged 挂起状态
mounted 外接
waiting 等待状态
running 启动状态
list-unit-files 查看服务开机状态
list-dependencies 列出服务依赖性
mask 冻结
unmask 解冻
set-default multi-user.target(会自动补齐) 无图形网络模式
graphical.target(会自动补齐) 有图形的网络模式
get-default 查看系统运行模式
w 显示正在登陆的账号
w -i 显示登陆来源 /var/run/utmp
last 历史登陆记录 /var/log/wtmp 清除掉 > /var/log/wtmp
lastb 试图登陆但未成功,登陆三次失败会被踢掉;/var/log/btmp
本文主要对linux系统中进程进行学习了解,主要内容包括进程查看命令,进程的优先级调用,进程的前后台调用,systemd守护进程以及系统中的登陆审计,学习好本章内容对后续linux远程登陆有很大的帮助。
需要牢记systemctl的命令用法,以及守护进程的环境配置。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。