当前位置: 首页 > news >正文

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简述进程

目录 进程 一个正在运行的程序&#xff0c;一个程序运行至少要启动一个进程&#xff0c;主进程 子进程 一个进程正常运行&#xff0c;至少要启动一个线程&#xff0c;主线程 子线程 进程的生命周期&#xff1a; 进程状态产生的原因&#xff1a; 查看当前系统的进程 ps au…...

由于设置了全局 QWidget 背景导致QT QCalendarWidget 表态背景异常

解决&#xff1a; 单独设置QCalendarWidget 的qss : 对象是查看源码所得 QWidget#qt_calendar_navigationbar{ ...... } QToolButton#qt_calendar_prevmonth, #qt_calendar_nextmonth, #qt_calendar_monthbutton, #qt_calendar_yearbutt…...

数据库的重要你了解多少?如何保障数据库的安全?

随着信息技术的快速发展&#xff0c;数据库已经成为企业、组织以及个人日常生活中不可或缺的一部分。然而&#xff0c;随着数据库的广泛应用&#xff0c;其安全性问题也日益凸显。数据库的安全性主要包括数据的完整性、保密性和可用性。本文将探讨数据库安全性的重要性、以及如…...

距离“全自动”漏洞挖掘又近了一步!腾讯安全大数据实验室论文入选ACM CCS 2023

计算机领域国际权威学术顶会ACM CCS 2023于11月26日在丹麦哥本哈根开幕。腾讯安全大数据实验室团队论文《Hopper: Interpretative Fuzzing for Libraries》被大会收录&#xff0c;昨天&#xff0c;实验室研究员谢雨轩受邀出席大会进行主题分享。 该论文提出了解释性模糊测试&a…...

docker搭建rabbit集群

1.去rabbitMQ官网拉去images 我当前使用的是最新版本的镜像&#xff1a;rabbitmq:3.12-management 2.创建一个集群专用网络 docker的容器相互隔离是不可通信的&#xff0c;我们自行创建一个网络后&#xff0c;创建容器时 给他们放在一起&#xff0c;就可以通信了。 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 表达式遍历 &#xff0c;简洁又好用&#xff01;&#xff01;&#xff01; 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操作系统的桌面&#xff0c;在学校教学中我们…...

【深度学习】学习率及多种选择策略

学习率是最影响性能的超参数之一&#xff0c;如果我们只能调整一个超参数&#xff0c;那么最好的选择就是它。相比于其它超参数学习率以一种更加复杂的方式控制着模型的有效容量&#xff0c;当学习率最优时&#xff0c;模型的有效容量最大。本文从手动选择学习率到使用预热机制…...

具有“真实触感”的动捕数据手套mhand pro,提供更精确的动作捕捉

随着人工智能的普及和万物互联&#xff0c;vr虚拟技术备受关注&#xff0c;为了更加真实的虚拟现实交互体验&#xff0c;动捕数据手套的使用逐渐普及&#xff0c;vr手套可以实时采集各手指关节运动数据&#xff0c;使用动捕数据手套可以在虚拟现实的场景中实现对真实手部运动的…...

Mongodb使用killCursors停止运行的cursor

cursor指向查询结果的游标&#xff0c;通过游标向下移动&#xff0c;获得下一条查询结果。MongoDB分批向用户返回数据结果。通过游标的移动&#xff0c; mongodb确定当前返回结果的位置&#xff0c;是否要加载更多数据到内存当中。cursor有默认的超时时间&#xff0c; 超时后cu…...

电脑风扇转一下停一下,无法正常开机问题解决

今天同事电话说电脑开不了机了&#xff0c;只听见风扇不停地呜呜地作响。笔者第一反应是不是硬件哪里出问题了&#xff0c;于是二话没说拿起心爱的螺丝刀就闪了过去。 按下电源&#xff0c;确实如电话所述。但感觉风扇并非一直在转&#xff0c;而是时断时续。由于听不大真切&a…...

无需部署服务器,如何结合内网穿透实现公网访问导航页工具Dashy

文章目录 简介1. 安装Dashy2. 安装cpolar3.配置公网访问地址4. 固定域名访问 简介 Dashy 是一个开源的自托管的导航页配置服务&#xff0c;具有易于使用的可视化编辑器、状态检查、小工具和主题等功能。你可以将自己常用的一些网站聚合起来放在一起&#xff0c;形成自己的导航…...

Go GORM简介

GORM&#xff08;Go Object-Relational Mapping&#xff09;是一个用于Go语言的ORM库&#xff0c;它提供了一种简单、优雅的方式来操作数据库。GORM支持多种数据库&#xff0c;包括MySQL、PostgreSQL、SQLite和SQL Server。以下是GORM的一些主要特性 全功能ORM&#xff1a;GORM…...

前端量子纠缠 效果炸裂 multipleWindow3dScene

我 | 在这里 &#x1f575;️ 读书 | 长沙 ⭐软件工程 ⭐ 本科 &#x1f3e0; 工作 | 广州 ⭐ Java 全栈开发&#xff08;软件工程师&#xff09; &#x1f383; 爱好 | 研究技术、旅游、阅读、运动、喜欢流行歌曲 ✈️已经旅游的地点 | 新疆-乌鲁木齐、新疆-吐鲁番、广东-广州…...

第十七章 处理空字符串和 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.配置基本信息和中文注释&#xff08;默认是没有中文注释的&#xff09; 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…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...

Redis:现代应用开发的高效内存数据存储利器

一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发&#xff0c;其初衷是为了满足他自己的一个项目需求&#xff0c;即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源&#xff0c;Redis凭借其简单易用、…...

MySQL 8.0 事务全面讲解

以下是一个结合两次回答的 MySQL 8.0 事务全面讲解&#xff0c;涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容&#xff0c;并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念&#xff08;ACID&#xff09; 事务是…...

BLEU评分:机器翻译质量评估的黄金标准

BLEU评分&#xff1a;机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域&#xff0c;衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标&#xff0c;自2002年由IBM的Kishore Papineni等人提出以来&#xff0c;…...

nnUNet V2修改网络——暴力替换网络为UNet++

更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...

Xela矩阵三轴触觉传感器的工作原理解析与应用场景

Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知&#xff0c;帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量&#xff0c;能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度&#xff0c;还为机器人、医疗设备和制造业的智…...