linux简述进程
目录
进程
一个正在运行的程序,一个程序运行至少要启动一个进程,主进程 子进程
一个进程正常运行,至少要启动一个线程,主线程 子线程
进程的生命周期:
进程状态产生的原因:
查看当前系统的进程
ps aux (静态):
ps -ef (静态):
查看单个PID
pidof :查找服务进程的pid号码
pgrep:检索进程pid号码
查看进程端口
查看正在监听的端口
动态查看进程
top:动态查看进程及内容使用情况
进程优先级nice
进程控制
kill:杀死指定的进程
pkill:进程名杀死指定进程
作业控制
jobs:
进程
计算机四大存储资源:磁盘资源、内存资源、cpu资源、网络资源
一个正在运行的程序,一个程序运行至少要启动一个进程,主进程 子进程
速度:启动慢,结束慢 资源隔离 资源不共享
一个进程正常运行,至少要启动一个线程,主线程 子线程
速度:启动快,结束快 资源共享 线程的损坏会影响进程
进程的生命周期:
父进程复制自己的地址空间(fork)创建一个新的子进程结构 每个新进程分配一个,唯一的进程id(pid),满足跟踪安全之需 任何进程都可以创建子进程 所有进程都是第一个系统进程的后代
进程状态产生的原因:
在多任务处理操作系统中,每个cpu(或核心)在一个时间节点上只能处理一个进程 在程序运行时,他对cpu时间和资源分配的要求会不断变化的,从而为进程分配一个状态 它随着环境的要求而改变
查看当前系统的进程
ps aux (静态):
a 只能查看系统里面运行的所有终端进程
u 显示进程拥有者
x 显示系统内所有进程
f 显示进程之间的父子关系
需要提前安装:yum -y install psmisc
pstree:展示进程之间的父子关系
ps aux | grep 进程名 //查看指定进程的pid
进程字段解释,命令:ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
============================================================================
USER: //运行进程的用户
PID: //进程ID
%CPU: //CPU占用率
%MEM: //内存占用率
VSZ: //进程占用的虚拟内存大小。
RSS: //占用的物理内存大小
TTY: //进行运行的终端
STAT: //进程状态
START: //进程的启动时间
TIME: //进程占用CPU的总时间
COMMAND: //进程文件,进程名
进程状态:
?: 表示没有占用终端
R: 运行
S: 可中断睡眠 Sleep
D: 不可中断睡眠
T: 停止的进程
Z: 僵尸进程
X: 死掉的进程
Sl: 以线程的方式运行
Ss: s进程的领导者,父进程
R+: +表示是前台的进程组
S<: <优先级较高的进程
SN: N优先级较低的进程
查看tty的方法:
tty //进行运行的终端
? 表示这个进程开启的时候没有占用终端
ps -ef (静态):
-e 显示所有进程
-l 长格式显示
-f 完整格式
进程字段解释,命令:ps -ef
UID PID PPID C STIME TTY TIME CMD
=============================================================
UID //用户ID
PID //进程ID
PPID //父进程ID
C //CPU占用率
STIME //开始时间
TTY //开始此进程的终端设备
TIME //此进程运行的总时间
CMD //启动命令名
查看单个PID
pidof :查找服务进程的pid号码
pidof 进程名
pgrep:检索进程pid号码
pgrep 进程名
-d 设置号码之间的间隔符
-P 匹配父进程ID
查看进程端口
yum -y install lsof //下载lsof
lsof -i:端口号 //端口号,查看带端口的进程
注意:端口号只有整数,范围是从0 到65535
进程字段解释,命令:lsof -i:端口号
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
=============================================================
COMMAND 进程文件,进程名
PID 进程ID
USER 运行进程的用户
FD 文件描述符,应用程序通过文件描述符识别该文件。
DEVICE 指定磁盘的名称
SIZE/OFF 文件的大小
查看正在监听的端口
查网络进程和正在监听的端口:ss -nplt | netstat -lntp
-a 显示全部的进程
-u 显示udp
-n 以数字的新式显示协议名称
-t tcp
-p:显示进程的名称和pid
-l :只显示正在被监听的端口
进程字段解释,命令:netstat -lntp
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
==================================================================================
recv-Q:网络接收队列。表示收到的数据已经在本地接收缓冲,但是还有多少没有被进程取走,recv()如果接收队列Recv-Q一直处于阻塞状态,可能是遭受了拒绝服务 denial-of-service 攻击。
send-Q:网路发送队列。对方没有收到的数据或者说没有Ack的,还是本地缓冲区.如果发送队列Send-Q不能很快的清零,可能是有应用向外发送数据包过快,或者是对方接收数据包不够快。
Foreign Address:与本机端口通信的外部请求
PID/Program name:pid和进程名
动态查看进程
top:动态查看进程及内容使用情况
top //动态显示信息,三秒刷新一次
load average: 0.00, 0.01, 0.05 //平均负载:一分钟,五分钟,十五分钟
h|? 帮助
> 往下翻页
< 往上翻页
M 按内存排序
P 按cpu排序
q 退出
z 彩色显示
W 保存
标题参数解释:
第一行:程序名-系统时间 运行时间 登录用户数 CPU负载:1 5 15分钟
第二行:总线程数 运行数 睡眠数 停止数 僵死数
第三行: CPU使用占比 us用户 sy系统 ni优先级 id空闲 wa等待 hi硬件 si软件 st虚拟机
第四行:物理内存 total总共 free空闲 user使用 cache缓存硬盘内容
第五行:换分区 total总共 free空闲 user使用 cache缓存硬盘内容
------------------------------------
PID 用户 内存 共享内存 虚拟内存 状态 CPU占用 内存占用 运行时间 命令
进程优先级nice
nice 值越高:表示优先级越低,例如+19,该进程容易将CPU 使用量让给其他进程。
nice 值越低:表示优先级越高,例如-20,该进程更不倾向于让出CPU。
修改进程优先级
renice -n 需要修改的优先级数 进程名
进程控制
kill:杀死指定的进程
kill 进程号 杀死指定进程,高级别进程(终端)不能杀死
kill -9 进程号 强制杀死指定进程(往往用来杀死任务的干扰进程)
kill常用参数:
SIGTERM(信号15):这是kill命令的默认信号。它会请求进程终止,但是进程可以选择忽略这个信号。这是一个友好的终止信号,因为它允许进程有机会清理并优雅地关闭。
SIGKILL(信号9):这个信号会立即终止进程,进程无法忽略。这是一个强制终止信号,通常在SIGTERM无效时使用。
SIGINT(信号2):这个信号通常由用户通过按Ctrl+C发送,用于中断进程。
SIGSTOP(信号17,19,23):这个信号会立即停止进程的执行。进程无法忽略这个信号。
SIGCONT(信号18,20,24):这个信号会使被SIGSTOP停止的进程继续执行。
SIGHUP(信号1):这个信号通常表示终端已断开连接。许多守护进程会在接收到这个信号后重新读取配置文件。
SIGALRM(信号14):这个信号通常用于实现定时器或者超时功能。
pkill:进程名杀死指定进程
pkill 进程名 //根据进程名杀死进程
作业控制
jobs:
作业控制指的是控制正在运行的进程的行为。如:用户可以挂起一个进程或者放到后台去运行,等一会儿再继续执行该进程。
命令后+& //&:让命令或者程序后台运行
命令开始执行后 //ctrl+z 把程序放到后台(这方法会让程序在后台暂停)
jobs //查看后台的工作号
bg %工作号 //让暂停的程序在后台运行,%是用来修饰job number:工作号
fg %工作号 //将后台的程序调到前台
kill -9 %工作号 //通过kill杀死进程
相关文章:
linux简述进程
目录 进程 一个正在运行的程序,一个程序运行至少要启动一个进程,主进程 子进程 一个进程正常运行,至少要启动一个线程,主线程 子线程 进程的生命周期: 进程状态产生的原因: 查看当前系统的进程 ps au…...
由于设置了全局 QWidget 背景导致QT QCalendarWidget 表态背景异常
解决: 单独设置QCalendarWidget 的qss : 对象是查看源码所得 QWidget#qt_calendar_navigationbar{ ...... } QToolButton#qt_calendar_prevmonth, #qt_calendar_nextmonth, #qt_calendar_monthbutton, #qt_calendar_yearbutt…...
数据库的重要你了解多少?如何保障数据库的安全?
随着信息技术的快速发展,数据库已经成为企业、组织以及个人日常生活中不可或缺的一部分。然而,随着数据库的广泛应用,其安全性问题也日益凸显。数据库的安全性主要包括数据的完整性、保密性和可用性。本文将探讨数据库安全性的重要性、以及如…...
距离“全自动”漏洞挖掘又近了一步!腾讯安全大数据实验室论文入选ACM CCS 2023
计算机领域国际权威学术顶会ACM CCS 2023于11月26日在丹麦哥本哈根开幕。腾讯安全大数据实验室团队论文《Hopper: Interpretative Fuzzing for Libraries》被大会收录,昨天,实验室研究员谢雨轩受邀出席大会进行主题分享。 该论文提出了解释性模糊测试&a…...
docker搭建rabbit集群
1.去rabbitMQ官网拉去images 我当前使用的是最新版本的镜像:rabbitmq:3.12-management 2.创建一个集群专用网络 docker的容器相互隔离是不可通信的,我们自行创建一个网络后,创建容器时 给他们放在一起,就可以通信了。 docker netw…...
西南科技大学C++程序设计实验一(C++基础知识)
目录 一、实验目的 二、实验任务 三、预习内容(复习书中前3章内容,说明C++相对于C的扩展有哪些?) 四、问题思考与讨论 一、实验目的 1.熟悉编程环境 2.掌握程序调试方法。 3.熟悉枚举类型、结构体类型等自定义数据类型的使用 4.熟悉函数的定义、说明与使用 5.熟悉引用…...
Rust内存布局
题图忘了来自哪里.. 整型,浮点型,struct,vec!,enum 本文是对 Rust内存布局 的学习与记录 struct A { a: i64, b: u64,}struct B { a: i32, b: u64,}struct C { a: i64, b: u64, c: i32,}struct D { a: i32, b: u64, c: i32, d: u64,}fn main(…...
android 12 添加菜单
1.创建一级菜单 packages\apps\Settings\res\xml\top_level_settings.xml <com.android.settings.widget.HomepagePreferenceandroid:fragment"com.android.settings.DeviceStatusSettings"android:icon"drawable/ic_settings_display_white"android:…...
Map 的 5 种遍历方式
Map 的 5 种遍历方式 强烈推荐 for-each entrySet()遍历 和 lambda 表达式遍历 ,简洁又好用!!! package com.maptest; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set;pub…...
Linux的基本指令 ( 一 )
目录 前言 Linux基本指令 快速认识五个指令 ls指令 补充内容 pwd指令 补充内容 cd指令 补充内容 重新认识指令 指令的本质 which指令 alias指令 最后 一个文件的三种时间 tree指令及安装 tree指令 前言 关于Linux操作系统的桌面,在学校教学中我们…...
【深度学习】学习率及多种选择策略
学习率是最影响性能的超参数之一,如果我们只能调整一个超参数,那么最好的选择就是它。相比于其它超参数学习率以一种更加复杂的方式控制着模型的有效容量,当学习率最优时,模型的有效容量最大。本文从手动选择学习率到使用预热机制…...
具有“真实触感”的动捕数据手套mhand pro,提供更精确的动作捕捉
随着人工智能的普及和万物互联,vr虚拟技术备受关注,为了更加真实的虚拟现实交互体验,动捕数据手套的使用逐渐普及,vr手套可以实时采集各手指关节运动数据,使用动捕数据手套可以在虚拟现实的场景中实现对真实手部运动的…...
Mongodb使用killCursors停止运行的cursor
cursor指向查询结果的游标,通过游标向下移动,获得下一条查询结果。MongoDB分批向用户返回数据结果。通过游标的移动, mongodb确定当前返回结果的位置,是否要加载更多数据到内存当中。cursor有默认的超时时间, 超时后cu…...
电脑风扇转一下停一下,无法正常开机问题解决
今天同事电话说电脑开不了机了,只听见风扇不停地呜呜地作响。笔者第一反应是不是硬件哪里出问题了,于是二话没说拿起心爱的螺丝刀就闪了过去。 按下电源,确实如电话所述。但感觉风扇并非一直在转,而是时断时续。由于听不大真切&a…...
无需部署服务器,如何结合内网穿透实现公网访问导航页工具Dashy
文章目录 简介1. 安装Dashy2. 安装cpolar3.配置公网访问地址4. 固定域名访问 简介 Dashy 是一个开源的自托管的导航页配置服务,具有易于使用的可视化编辑器、状态检查、小工具和主题等功能。你可以将自己常用的一些网站聚合起来放在一起,形成自己的导航…...
Go GORM简介
GORM(Go Object-Relational Mapping)是一个用于Go语言的ORM库,它提供了一种简单、优雅的方式来操作数据库。GORM支持多种数据库,包括MySQL、PostgreSQL、SQLite和SQL Server。以下是GORM的一些主要特性 全功能ORM:GORM…...
前端量子纠缠 效果炸裂 multipleWindow3dScene
我 | 在这里 🕵️ 读书 | 长沙 ⭐软件工程 ⭐ 本科 🏠 工作 | 广州 ⭐ Java 全栈开发(软件工程师) 🎃 爱好 | 研究技术、旅游、阅读、运动、喜欢流行歌曲 ✈️已经旅游的地点 | 新疆-乌鲁木齐、新疆-吐鲁番、广东-广州…...
第十七章 处理空字符串和 Null 值 - XMLIGNORENULL、XMLNIL 和 XMLUSEMPTYELEMENT 的详细信息
文章目录 第十七章 处理空字符串和 Null 值 - XMLIGNORENULL、XMLNIL 和 XMLUSEMPTYELEMENT 的详细信息XMLIGNORENULL、XMLNIL 和 XMLUSEMPTYELEMENT 的详细信息XMLIGNORENULLXMLNILXMLUSEEMPTYELEMENT 导入值 第十七章 处理空字符串和 Null 值 - XMLIGNORENULL、XMLNIL 和 XML…...
Asp.net core WebApi 配置自定义swaggerUI和中文注释
1.创建asp.net core webApi项目 默认会引入swagger的Nuget包 <PackageReference Include"Swashbuckle.AspNetCore" Version"6.2.3" />2.配置基本信息和中文注释(默认是没有中文注释的) 2.1创建一个新的controller using Micr…...
Xilinx SDK获取代码运行时间
Xilinx SDK获取代码运行时间 一、API 头文件 “xtime_l.h”函数XTime_GetTime(XTime * xtime),获取周期数时钟频率宏 COUNTS_PER_SECOND 二、使用 #include "xtime_l.h"int main(){XTime tBegin, tEnd;unsigned int t_us;unsigned long long cycles;XTime_GetTim…...
智能售后工单分类:EcomGPT-7B+NLP多标签分类
智能售后工单分类:EcomGPT-7BNLP多标签分类 电商售后每天涌入数千张工单,人工分类处理需要4小时,现在只需30分钟 每天早晨,电商客服团队都要面对堆积如山的售后工单。商品质量问题、物流投诉、退款申请、技术咨询……各种问题混杂…...
协程异常捕获失效?超时自动恢复失败?PHP 8.9 Fiber生产级错误处理全链路解析,
第一章:协程异常捕获失效?超时自动恢复失败?PHP 8.9 Fiber生产级错误处理全链路解析PHP 8.9 引入的 Fiber 原生协程机制虽大幅简化异步编程模型,但在生产环境中频繁暴露异常穿透、超时未中断、错误上下文丢失等关键问题。根本原因…...
制造业企业怎样用好数据智能?聚焦排产、质检与能耗三大场景
过去,某电池工厂的生产计划员每周一都要花两天时间,手动协调数十台设备、上百种物料和几十个订单。稍有变动,整个排产表就要推倒重来。如今,同样的工厂,排产效率提升了600%,周计划达成率稳定在99%以上。这种…...
Ostrakon-VL终端惊艳效果:像素UI下支持键盘快捷键(F5刷新/F6扫描)
Ostrakon-VL终端惊艳效果:像素UI下支持键盘快捷键(F5刷新/F6扫描) 1. 像素特工终端概览 这是一个基于Ostrakon-VL-8B多模态大模型开发的Web交互终端,专为零售与餐饮场景优化。与传统工业级UI不同,我们采用了高饱和度…...
会计岗位学习数据分析的价值分析
一、会计岗位数据分析能力需求上升的背景数字化转型浪潮席卷各行各业,传统会计职能从核算记录向决策支持转变。企业财务数据量激增,手工处理效率低下,需要借助数据分析工具挖掘数据价值。国际财务报告准则(IFRS)和税务…...
Qwen-Image-Edit-2511在云端:集成显卡/Mac也能流畅运行的AI修图方案
Qwen-Image-Edit-2511在云端:集成显卡/Mac也能流畅运行的AI修图方案 1. 为什么选择云端部署Qwen-Image-Edit-2511? 1.1 硬件限制的突破性解决方案 传统AI图像编辑工具对硬件的高要求一直是普通用户的痛点。Qwen-Image-Edit-2511作为最新一代多模态编辑…...
Spring Cloud进阶--分布式权限校验OAuth浅
一、核心问题及解决方案(按踩坑频率排序) 问题 1:误删他人持有锁——最基础也最易犯的漏洞 成因:释放锁时未做身份校验,直接执行 DEL 命令删除键。典型场景:服务 A 持有锁后,业务逻辑耗时超过锁…...
深入FreeRTOS SMP调度器:主核与从核如何“默契配合”完成第一次任务切换?
深入FreeRTOS SMP调度器:主核与从核如何“默契配合”完成第一次任务切换? 在嵌入式系统开发中,实时操作系统(RTOS)的多核支持已成为提升性能的关键。FreeRTOS作为业界广泛采用的RTOS,其SMP(对称…...
springboot+deepseek实现AI接口调用
deepseek注册流程就不复述了,需要的小伙伴可以留言,单独指导。需要调用deepseek大模型接口的来看看了,直接上代码DsControllerpackage com.example.demo.controller;import com.example.demo.service.DsService; import org.springframework.…...
ooderAgent 龙虾时代的统一认证体系
当 Agent 从"工具"进化为"伙伴",账户体系如何重新定义人机协作的信任边界? 协议版本:ooderAgent v1.0.0 | 发布日期:2026-04-08 | 维护团队:ooderAgent Team 一、引言:从 0.7.3 到 …...
