首页
学习
活动
专区
工具
TVP
发布

Linux进程关系

Linux进程相互之间有一定关系。比如说,在Linux进程基础中,我们看到,每个进程都有父进程,而所有的进程以init进程为根,形成一个树状结构。...进程组会有一个进程组领导进程 (process group leader),领导进程PID (PID见Linux进程基础)成为进程ID (process group ID, PGID),以识别进程组...ID,PGID为进程所在进程ID, PPID为进程进程ID。...从上面的结果,我们可以推测出如下关系: ? 图中箭头表示父进程通过fork和exec机制产生子进程。ps和cat都是bash进程进程领导进程PID成为进程组ID。领导进程可以先终结。...比如说,我可以通过shell发起多个后台工作,而此时标准输入输出并不被占据,我依然可以继续其它工作。如今,图形化界面可以帮助我们解决这一需求,但工作组和会话机制依然在Linux许多地方应用。

1.7K50

Linux内核11-进程之间关系

对于进程,我们并不陌生。进程具有父子关系、兄弟关系等等。本文我们就深入探讨它们之间关系。...在阅读本文之前,应该熟读《Linux内核10-list_head和hlist_head理解》这一篇文章,因为这对理解本文有很大帮助。...1 进程之间关系 我们已经或多或少知道,进程具有父子关系,不仅如此,还有兄弟关系。所以,进程描述符中必须有几个成员是记录这种关系(P是创建进程),具体可以参考下表。...children 包含P创建所有子进程列表表头。 sibling 包含指向兄弟关系进程链表中下一个元素和前一个元素指针,这些进程进程都是P。 图3-4 阐述了进程父子、兄弟关系。...为了解决这个冲突问题,Linux决定使用一个双向链表存储这些冲突PID,把这个双向链表表头存入哈希表中,通过这种方法,完美地解决了这个冲突。

68120
您找到你想要的搜索结果了吗?
是的
没有找到

进程ID及进程关系

pids[] 数组下标是枚举类型,在 include/linux/pid.h 中定义了 PID 类型: enum pid_type { PIDTYPE_PID, PIDTYPE_TGID,...PID/TGID/PGID/SID总结 用一幅图来总结 PID/TGID/PGID/SID : 进程关系 内核中所有进程 task_struct 会形成多种组织关系。...根据进程创建过程会有亲属关系进程父子关系组织成一个进程树;根据用户登录活动会有会话和进程关系。...亲属关系 进程通过 fork() 创建出一个子进程,就形成来父子关系,如果创建出多个子进程,那么这些子进程间属于兄弟关系。可以用 pstree 命令查看当前系统进程树。...会话、进程关系 Linux 系统中可以有多个会话(session),每个会话可以包含多个进程组,每个进程组可以包含多个进程

30922

Linux 内核】进程管理 ( 系统调用简介 | 进程关系统调用源码 )

文章目录 一、系统调用简介 二、进程关系统调用源码 一、系统调用简介 ---- 在开发应用程序时 , 进行 " 进程创建 " , 调用 fork() , vfork() , clone() 等函数..., 就是 " 系统调用 " ; " 系统调用 " 是 操作系统 提供 应用程序 调用 内核功能 接口 , 如 : 创建进程 , 文件操作 等 ; 系统调用 与 内核 关系 : 在 应用进程 中调用...fork() 系统调用 函数 , 实际上调用Linux 内核中 sys_fork() 函数 ; 在 应用进程 中调用 vfork() 系统调用 函数 , 实际上调用Linux 内核中...sys_vfork() 函数 ; 在 应用进程 中调用 clone() 系统调用 函数 , 实际上调用Linux 内核中 sys_clone() 函数 ; Linux 内核中 sys_fork...---- Linux 进程相关 " 系统调用 " 对应源码在 linux-5.6.18\kernel\fork.c 源码中 ,

2K20

低调 Linux 文件系统家族

而在 Linux 中,是支持挂载,它允许一个磁盘挂在到另外一个磁盘上,那么上面的关系会变成下面这样 ? 挂在之后,两个文件系统就不再需要关心文件系统在哪个磁盘上了,两个文件系统彼此可见。...加锁机制要求尝试加锁进程指定其 「要加锁文件,开始位置以及要加锁字节」 Linux 系统提供了两种锁:「共享锁和互斥锁」。...文件读写位置会在打开文件描述符表中存在,如下图所示 ? 我们使用 shell 、P1 和 P2 来描述一下父进程、子进程、子进程关系。...❞ 然而,Linux 在一些方面上对这个想法进行了扩充。它基本概念是为系统中每个进程在 /proc 中创建一个目录。目录名字就是进程 PID,以十进制数进行表示。...当需要这些信息时候,系统会按需从进程中读取,并以标准格式返回给用户。 许多 Linux 扩展与 /proc 中其他文件和目录有关。

95740

Linux进程与可执行程序关系&&fork创建子进程&&写实拷贝理解

一、进程与可执行程序之间关系理解 系统会将此时在系统运行进程各种属性都以文件形式给你保存在系统proc目录下。...运行一个程序时候,本质就是把磁盘中程序拷贝到内存中,当一个进程运行起来时候,它本质已经和磁盘中可执行程序没有直接关系了。...,它本质已经和磁盘中可执行程序没有直接关系了。...我们也可以看到,其中父子进程fork返回值是不一样,父进程fork返回是子进程pid,子进程返回是0。 那这里就会有疑问了,为什么fork给父进程返回子进程pid,给子进程返回0?...这和linux虚拟地址有关,也就是说,一个变量可以指向不同地址空间。 写实拷贝 任意进程之间是具有独立性,不会互相影响。

1200

JVM和Linux内存关系--进程与JVM内存空间

三.进程与JVM内存空间 JVM本质就是一个进程,因此其内存空间(也称之为运行时数据区,注意与JMM区别)也有进程一般特点。深入浅出 Java 中 JVM 内存管理,这篇参考下。...下面从用户内存和内核内存两个方面讲解JVM进程内存特点。 1.用户内存 上图特别强调了JVM进程模型代码区和数据区指的是JVM自身,而非Java程序。普通进程栈区,在JVM一般仅仅用做线程栈。...Java NIO正是在这种背景下诞生,其充分利用了Linux系统新特性,提升了Java程序IO性能。 上图给出了Java NIO使用内核内存在linux系统中分布情况。...现在分析这600m内存分配情况: Linux保留大约200m,这部分是Linux正常运行需要, Java服务线程数量是160个,JVM默认线程栈大小是1m,因此使用160m内存, Java NIO...内存泄漏问题 另一个案例是,8g内存服务器,Linux使用800m,监控进程使用600m,堆大小设置4g;系统可用内存有2.5g左右,但是也发生了大量SWAP占用。

2.7K21

python多进程编程-进程之间关系

在多进程编程中,进程之间关系可以分为父子进程关系、兄弟进程关系和无关进程关系。不同关系会对进程通信、共享资源等方面产生不同影响。父子进程关系父子进程关系是最常见进程关系。...() # 子进程 else: os.waitpid(pid, 0) # 父进程等待子进程结束在上面的示例中,我们首先输出了父进程进程ID,然后创建了一个子进程,子进程会输出自己进程...兄弟进程关系兄弟进程关系是指两个或多个进程之间没有父子关系,但它们通常是在同一时刻由同一个进程创建。在多进程编程中,这种关系通常是通过共享内存、消息队列等方式进行通信和同步。...子进程1和子进程2都会输出自己进程ID。父进程等待子进程1和子进程2都结束之后才退出。无关进程关系无关进程关系是指两个或多个进程之间既没有父子关系,也没有兄弟关系。...在多进程编程中,这种关系通常是通过网络通信等方式进行通信和同步。

32530

2.5.5 作业和进程关系

进程是系统资源使用者,系统资源大部分都是以进程为单位分配。而用户使用计算机是为了实现一串相关任务,通常把用户要求计算机完成这一串任务成为作业。...(1)批处理系统中作业与进程关系进程组织) 批处理系统中可以通过磁记录设备或卡片机向系统提交批作业,由于系统spooling输入进程将作业放在磁盘输入井中,作为后备作业。...作业调度程序(一般也作为独立进程运行)每当选择一道后备作业运行时,首先为该作业创建一个进程(称为该作业进程)。该进程将执行   作业控制语言   解释 该作业 作业说明书。...至此,一道进入运行作业全部结束。 (2)分时系统中作业与进程关系 在分时系统中,作业提交方法,组织形式均与批处理作业有很大差异。分时系统用户通过命令语言逐条与系统应答式地输入命令,提交作业步。...这时,用交互系统提供全屏编辑命令编辑好将要提交作业控制说明书文件,如windows系统BAT文件和linux系统sh文件。然后用一条 作业提交命令将作业提交给系统作业队列中。

1.1K10

Linux进程调度_linux进程查看和调度

Linux 系统为了提升响应速度,倾向于优先调度 I/O 消耗型。...一、普通进程Linux 中普通进程依赖称之为 nice 值 东东来进行进程优先级描述。nice 值范围是 [-20, 19]。...—— 小结 实时进程优先级:value 越高,优先级越大 普通进程优先级:nice值越高,普通进程优先级越小 任何实时进程优先级 > 普通进程 Linux 调度算法 ---- Linux 中有一个总调度结构...Linux 调度时机 ---- 一、进程切换 从进程角度看,CPU是共享资源,由所有的进程按特定策略轮番使用。...也可以用 pidstat -w 命令查看进程切换每秒统计值: pidstat -w 1 Linux 3.10.0-229.14.1.el7.x86_64 (bj71s060) 02/01/2018

20.2K10

进程和线程关系漫画解释

进程(process)和线程(thread)是操作系统基本概念,但是它们比较抽象,不容易掌握。   最近,我读到一篇材料,发现有一个很好类比,可以把它们解释地清晰易懂。   1.   ...背后含义就是,单个CPU一次只能运行一个任务。   3.   进程就好比工厂车间,它代表CPU所能处理单个任务。任一时刻,CPU总是运行一个进程,其他进程处于非运行状态。   4.   ...线程就好比车间里工人。一个进程可以包括多个线程。   6.   车间空间是工人们共享,比如许多房间是每个工人都可以进出。这象征一个进程内存空间是共享,每个线程都可以使用这些共享内存。   ...操作系统设计,因此可以归结为三点:   (1)以多进程形式,允许多个任务同时运行;   (2)以多线程形式,允许单个任务分成不同部分运行;   (3)提供协调机制,一方面防止进程之间和线程之间产生冲突...,另一方面允许进程之间和线程之间共享资源。

64070

关于父进程和子进程关系(UAC 绕过思路)

假设是a进程创建了b进程,那么a进程就是b进程进程。...这对于一部分低端木马具有提醒作用(注意这里说是能够提示一般 灰鸽子等变种,高端木马会绕过这里,具体思路见后面),好了这里再回头说进程关系,这里先说一句关键的话:进程在创建进程时。...AIS服务(AppInfo Service)调用CreateProcessAsUser() 函数创建进程而且赋予恰当管理员权限,在理论上说AIS服务(所在进程)是提权后进程进程。...IceSworld,Process Explorer等) 查看时,会发现提权进程进程是创建它进程,这是由于AIS利用了CreateProcessAsUser() API中一个新功能,这里新功能就是将提权进程进程设置成创建该进程进程...,假设我们利用一下该API,我们就能够将自己进程进程设置为随意进程(要提权绕过UAC鸽子注意了),假设把木马进程进程设置为 杀软 ID或者csrss.exe ,notepad.exe 等可信进程

1.5K30

Linux进程管理

02 — ps ps 命令用于显示当前系统中由该用户运行进程列表 选项 说明 -ef 查看所有进程及其 PID(进程号)、系统时间、命令详细目录、执行者等。...-aux 除可显示 -ef 所有内容外,还可显示 CPU 及内存占用率、进程状态。 -w 以加宽方式显示,这样可以显示较多信息。...03 — pidof 根据进程名查询进程号 oracle@yaoyuan ~$ pidof mysqld 1907 oracle@yaoyuan ~$ ps -ef|grep mysqld mysql...00:01:57 /usr/sbin/mysqld 04 — kill 而 kill 命令用于输出特定信号给指定进程号(PID)进程并根据该信号完成指定行为,其中可能信号有进程挂起、进程等待、...07 — crontab 我们希望 Linux 系统能够周期性地、有规律地执行某些具体任务,那么Linux 系统中默认启用 crond 服务简直再适合不过了 创建、编辑计划任务命令为“crontab

1.4K20

linux通过进程名杀死进程_linux关闭进程命令

笔记:根据一个进程名字或启动此进程命令(连续一部分即可)杀死进程 一、使用单条命令 ps -ef | grep 进程名/启动进程命令 | grep -v grep | awk ‘{print $2...}’ | xargs kill -9 执行结果: [1]-  已杀死               sleep 200 [2]+  已杀死               sleep 200 二、编写脚本 linux.../bin/bash # 脚本名:kill_process.sh # 脚本功能:强制杀死进程 方式kill -9     # 1通过ps查询进程id     # 2使用kill -9 强制终止进程...请使用此方式运行:/bin/bash kill_process.sh 进程名”     exit 1 fi # 获取要被杀死进程名 pName=$1 <<!    ...————————————————————— # 根据进程名查询包含进程进程 并排除grep查询进程和此脚本进程 ps -ef | grep “$pName” | grep -v grep | grep

15.5K20

【说站】java进程和线程关系

java进程和线程关系 定义 1、线程是处理器任务调度和执行基本单位,进程是操作系统资源分配基本单位。 包含关系 2、一个进程可以包含多个线程。...从Java虚拟机角度来看,Java虚拟机运行时数据区包括堆、方法区、虚拟机栈、本地方法堆、程序计数器。每个过程是独立,每个过程包含多个线程,每个过程包含多个线程不是独立。...这个线程会分享过程堆和方法区,但这些线程不会分享虚拟机栈、本地方法堆和程序计数器。也就是说,每个过程包含多个线程共享过程堆和方法区,以及私有的虚拟机栈、本地方法堆和程序计数器。...存储器分配:进程地址空间和资源是相互独立,同一过程中线程将共享线程中地址空间和资源(堆和方法区)。 资源开销:每个进程都有自己数据空间,进程之间切换会有很大开销。...属于同一个进程线程会共享堆和方法区,同时会有私人虚拟机栈、本地方法栈、程序计数器,线程之间切换资源开销较小。 以上就是java进程和线程关系,希望对大家有所帮助。

30420

linux进程

1.查进程 ps命令查找与进程相关PID号: ps a 显示现行终端机下所有程序,包括其他用户程序。 ps -A 显示所有程序。...ps c 列出程序时,显示每个程序真正指令名称,而不包含路径,参数或常驻服务标示。 ps -e 此参数效果和指定"A"参数相同。 ps e 列出程序时,显示每个程序所使用环境变量。...ps f 用ASCII字符显示树状结构,表达程序间相互关系。 ps -H 显示树状结构,表示程序间相互关系。 ps -N 显示所有的程序,除了执行ps指令终端机下程序之外。...2.杀进程和查看进程对应PID目录下exe文件信息 最常用方法是ps -aux或者ps -ef 然后再通过管道使用grep命令过滤查找特定进程,然后再对特定进程进行操作。...使用kill命令结束进程:kill -a 进程pid 或者 killall 程序名 查看对应PID目录下exe文件信息: [root@localhost postfix]# ps -aux|grep

8.5K100

第52天:offset家族、scroll家族和client家族区别

一、offset家族 1、offsetWidth offsetHeight offsetLeft offsetTop offsetParent共同组成了offset家族,用来获取元素尺寸。...二、scroll家族 1、scroll家族主要包括scrollWidth、scrollHeight、scrollLeft、 scrollTop、 onscroll事件 scrollWidth/scrollHeight...要在窗口文档显示区左上角显示文档 y 坐标 三、client家族 1、 clientWidth:获取网页可视区域宽度 clientHeight:获取网页可视区域高度 如果是盒子调用,指的是盒子本身...盒子border宽高 2、client家族之:检浏览器宽/高度(可视区域) 1、ie9及其以上版本 window.innerWidth/Height 2、标准模式(有DTD...document.documentElement.clientHeight 3、怪异模式 (没有DTD) document.body.clientWidth document.body.clientHeight 四、三个家族区别

73120
领券