1.进程的定义 程序是静态的代码文件 进程是指程序运行时的形态 进程是程序的一个副本 进程是有生命周期的(准备期,运行期,终止期)
#进程和线程 进程是资源调用的最小单位 线程是进程的最小单位
程序执行流是从上倒下贯穿运行的
当进程是多任务物,cpu是多核心,多任务应该同时被每个核心处理,每个核心处理的任务叫线程 线程资源是共享的.
#进程状态 #R(TAKS_RUNNING) ##可执行态(running,ready) #S(TASK_INTRRUPTABLE) ##可唤醒休眠 #D(TASK_UNINTRRUPTABLE) ##不可唤醒休眠 #T(TASK_STOP) ##暂停状态 #Z(EXIT_ZOMBIE) ##僵死态
2.进程查看命令 gnome-system-monitor ##图形进程查看工具
ps #进程查看 #ps 命令的三种执行风格 unix bsd GNU #a 与终端相关的进程(当用户登陆系统后产生的进程都是带终端的) #x 与终端无关相关的进程 #u 用户信息归类的查看方式 #f 进程层级关系 #o 显示指定参数 pid comm nice pri pcpu ppid stat,user,group # #-e 显示所有进程 #-f 显示信息的完整格式 #-H 显示进程的层级结构 #-o 显示指定参数 #--sort=
#ps ax显示信息如下:
#PID 进程id #TTY 进程用到的终端 #STAT 进程状态 #TIME 进程占用cpu时长 #COMMAND 进程名称 #ps aux显示信息如下: #USER 进程所有人 #PID 进程id #%CPU 进程使用cpu的用量 #%MEM 进程所用到的内存用量 #VSZ 进程使用的虚拟内存大小 #RSS 进程常驻内存中的数据大小 #TTY 进程用到的终端 #STAT 进程状态 #START 进程运行时长 #TIME 进程占用cpu时长 #COMMAND 进程名称
pgrep #进程过滤 #-u uid 显示指定用户进程 #-U user 显示指定用户进程 #-t tty 显示指定终端进程 #-l 显示进程名称 #-a 显示进程的完整名称 #-P 下时进程的子进程
pidof vim ##查看vim的pid
top ##动态进程查看 ##top中的内容显示信息 #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命令的参数 #-d 指定刷新频率 #-b 以批次方式显示 #-n 指定显示的批次数量 #top内部指令 #P cpu排序 #M 内存排序 #T 累计展铜cpu时间排序 #l 关闭/开启uptime信息 #t 关闭/开启cpu&task #s 指定刷新频率 #k 操作进程 #u 查看指定用户进程
3.进程优先级 系统时多任务多用户的操作模式 任务的重要性是有区分的 如何确定任务的重要性 “优先级” 范围: 0--139 内核自控优先级范围:0-99 用户可控优先级:100-139
nice:-20-19
注意:pri越大优先级越高 nic越大优先级越低
renice -n -5 43331 ##更改优先级 nice -n -5 vim & ##指定优先级打开进程
S #sleeping < #优先级高 s #顶级进程 T #stop N #优先级底 R #running + #运行在前台
4.进程前后台调用 <ctrl>+<z> ##把占用shell的进程打入后台挂起 bg ##把后台挂起的进程运行起来 fg ##把后台进程调回前台 & ##运行进程在后台 jobs ##查看当前shell中在后台的所有工作
5.进程信息号
#进程信号
1 #重新加载系统配置文件(source)(例如服务器不停机更新) 2 #清空内存中的进程数据 3 #清空内存中的鼠标(ctrl+\) 9 #强行结束进程(不能被阻塞) 15 #正常关闭进程(会被阻塞) 18 #运行被暂停的进程 19 #暂停进程(不会被阻塞) 20 #暂停进程(会被阻塞的)
#进程信号控制工具 kill 进程信号 pid killall 进程信号 进程名字 pkill 进程信号 进程条件
6.systemd守护进程 ##实验环境 #linux.westos.com -------- > 172.25.254.10 #node1.westos.com ----------> 172.25.254.20 # #远程操作主机 #ssh 远程主机ip -l 远程主机用户
#守护进程 #替内核分担程序控管的程序 #通常pid为1 #systemd -----> systemctl #systemctl 管理系统服务 #服务指在系统中开启的共享系统资源到网络中的程序 #cs client ------ server # #systemctl命令的用法 start ##开启 stop ##关闭 status ##查看状态 reload ##重新加载 restart ##重新启动服务 enable ##设定服务开机启动 enable --now ##设定服务开机启动并当前开启服务 disable ##设定服务开启不其动 list-units ##查看系统所有服务当前状态 list-unit-files ##查看服务开机状态 list-dependencies ##列出服务依赖性 mask ##冻结服务 unmask ##解锁 set-default ##设定系统运行模式 #multi-user.target 无图形网络模式 #graphical.target 有图形的网络模式 get-default ##查看系统运行模式 ##系统运行模式 #0-6 #0 POWEROFF #1 single #2 noG+NETWORK #3 #4 #5 G+NETWORK #6 REBOOT
7.系统中的登陆审计 w ##显示正在登陆系统的账号 ## -i 显示登陆来源 #/var/run/utmp
last ##登陆成功现在已经退出的 ##/var/log/wtmp
lastb ##试图登陆但未成功 ##/var/log/btmp