进程管理--Linux

it2023-10-07  74

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+ #进程查看 #ps 命令的三种执行风格 unix bsd GNU #a 与终端相关的进程(当用户登陆系统后产生的进程都是带终端的) #x 与终端无关相关的进程 #u 用户信息归类的查看方式 #f 进程层级关系 #o 显示指定参数 pid comm nice pri pcpu ppid stat,user,group #-e 显示所有进程 #-f 显示信息的完整格式 #-H 显示进程的层级结构 #-o 显示指定参数 #–sort= 排序–后面跟参数如:%cpu把cpu利用大小排序 less指把显示出的进程在另一个界面排列出来

命令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 cat ##查看cat的pid

top ##动态进程查看 ##top中的内容显示信息 #09:48:51 系统时间 #up 18:54 运行时长 #2 users 系统中有两个用户登陆 #Tasks: #331 total 任务总量 #3 running 正在运行 #329 sleeping 休眠人物数量 #0 stopped 被暂停数量 #0 zombie 僵死人物数量

top命令的参数 #-d 指定刷新频率 #-b 以批次方式显示 #-n 指定显示的批次数量 #-d 后面接时间,1表示以每一秒刷新一次频率

把所有进程中内存使用最大的五个进程的PID显示出来,去掉第一行可以继续管道符加上tail

top内部指令 #P cpu排序 #M 内存排序 #T 累计展铜cpu时间排序 #l 关闭/开启uptime信息 #t 关闭/开启cpu&task #s 指定刷新频率 #k 操作进程 #u 查看指定用户进程

3.进程优先级

系统时多任务多用户的操作模式 任务的重要性是有区分的 如何确定任务的重要性 “优先级” 范围: 0–139 内核自控优先级范围:0-99 用户可控优先级:100-139

nice -20-19 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守护进程

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 ##查看系统运行模式 ##系统运行模式 在里面输入init 5 后就也可以返回重启前的界面,init 5指有图形的网络模式

#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)