Linux学习计划 -单元7-Linux中的进程管理

it2025-07-29  9

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

最新回复(0)