linux中的进程管理

it2024-02-01  63

linux中的进程管理

1.进程定义进程的定义:进程&线程进程状态2.进程查看命令ps #进程查看ps ax显示信息如下:ps aux显示信息如下:pgrep #进程过滤pidof vim 查看vim的pidtop 动态进程查看top中的内容显示信息top命令的参数top内部指令3.进程优先级4.进程前后台调用5.进程信息号进程信号进程信号控制工具6.systemd守护进程远程操作主机守护进程systemctl命令的用法7.系统中的登陆审计

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=排序–sort=%mem正序–sort=-%mem倒序

查找系统排行占用内存前五的进程id

ps ax显示信息如下:

PID进程idTTY进程用到的终端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下时进程的子进程

pid -u 1000

[root@lzy Desktop]# pgrep -U westos 25743 [root@lzy Desktop]# pgrep -t pts/1 25158 25742 25743 25819

pgrep -P

pidof vim 查看vim的pid

可以查看服务是否开启 开启时 未开启时

top 动态进程查看

top命令可以真实查看进程状况,具有实时显示功能,默认3s刷新一次

top中的内容显示信息

#09:08:52 系统时间 up 4:40运行时长 1 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 -d 1 每一秒刷新一次

top内部指令

Pcpu排序M内存排序T累计cpu时间排序l关闭/开启uptime信息t关闭/开启cpu&tasks指定刷新频率(默认每三秒刷新一次)k操作进程u查看指定用户进程

p cpu排序 按P

3.进程优先级

系统时多任务多用户的操作模式 任务的重要性是有区分的 如何确定任务的重要性 “优先级” linux

范围: 0--139 内核自控优先级范围:0-99 用户可控优先级:100-139

nice -20-19 nice值越小,优先级越高

renice -n -5 25330##更改优先级(在进程打开的时候进行修改) ps ax -o pid,comm,pri,nice (pri不是linux的)

nice -n -5 vim &##指定优先级打开进程

Ssleeping<#优先级高s#顶级进程T#stopN#优先级底R#running+#运行在前台

4.进程前后台调用

<ctrl>+<z>把占用shell的进程打入后台挂起bg把后台挂起的进程运行起来fg把后台进程调回前台&运行进程在后台jobs查看当前shell中在后台的所有工作

如图,进程占用shell的前台,无法再进行别的命令的输入,除非ctrl+c结束进程 ,进程前后台的调用,可以让进程不用结束,同时进行别的工作 <ctrl>+<z>把占用shell的进程打入后台挂起 bg把后台挂起的进程运行起来

fg把后台进程调回前台

ctrl+c 结束进程 把进程fg调回前台,ctrl+c结束掉

5.进程信息号

进程信号

1重新家在系统配置文件(source)2清空内存中的进程数据(crtl+c)3清空内存中的鼠标(ctrl+)9强行结束进程(不能被阻塞)15正常关闭进程(会被阻塞)18运行被暂停的进程19暂停进程(不会被阻塞) 强制20暂停进程(会被阻塞的)

进程信号控制工具

kill 进程信号 pid killall 进程信号 进程名字 pkill 进程信号 进程条件 保证浏览器一直被正常访问,修改配置文件之后,重启的方式不可取kill -1

____________________________________________________________ pkill -9 -u root

6.systemd守护进程

远程操作主机

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-60POWEROFF1single2noG+NETWORK345G+NETWORK6REBOOT [root@lzy Desktop]# runlevel N 5 [root@lzy Desktop]# systemctl get-default graphical.target 图形模式 [root@lzy Desktop]# systemctl set-default multi-user.target Removed /etc/systemd/system/default.target. Created symlink /etc/systemd/system/default.target → /usr/lib/systemd/system/multi-user.target.

在非图形界面打开图形界面startx和init 5的区别 在非图形界面登录后,init 5 init 5 runlevel显示的区别 runlever N 3 5 startx runlever N 3

7.系统中的登陆审计

w ##显示正在登陆系统的账号 ## -i 显示登陆来源 #/var/run/utmp

last ##登陆成功现在已经退出的 ##/var/log/wtmp

lastb ##试图登陆但未成功 ##/var/log/btmp

最新回复(0)