首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux进程关系

Linux进程相互之间有一定的关系。比如说,在Linux进程基础中,我们看到,每个进程都有父进程,而所有的进程以init进程为根,形成一个树状结构。...我们在这里讲解进程组和会话,以便以更加丰富的方式了管理进程进程组 (process group) 每个进程都会属于一个进程组(process group),每个进程组中可以包含多个进程。...进程组会有一个进程组领导进程 (process group leader),领导进程的PID (PID见Linux进程基础)成为进程组的ID (process group ID, PGID),以识别进程组...从上面的结果,我们可以推测出如下关系: ? 图中箭头表示父进程通过fork和exec机制产生子进程。ps和cat都是bash的子进程进程组的领导进程的PID成为进程组ID。领导进程可以先终结。...如今,图形化界面可以帮助我们解决这一需求,但工作组和会话机制依然在Linux的许多地方应用。

1.8K50

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 源码中 ,

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

Linux内核11-进程之间的关系

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

69720

进程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),每个会话可以包含多个进程组,每个进程组可以包含多个进程

35122

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

三.进程与JVM内存空间 JVM本质就是一个进程,因此其内存空间(也称之为运行时数据区,注意与JMM的区别)也有进程的一般特点。深入浅出 Java 中 JVM 内存管理,这篇参考下。...Java NIO正是在这种背景下诞生的,其充分利用了Linux系统的新特性,提升了Java程序的IO性能。 上图给出了Java NIO使用的内核内存在linux系统中的分布情况。...现在分析这600m内存的分配情况: Linux保留大约200m,这部分是Linux正常运行的需要, Java服务的线程数量是160个,JVM默认的线程栈大小是1m,因此使用160m内存, Java NIO...前三项加起来已经560m,因此可以断定Linux物理内存不够使用。...内存泄漏问题 另一个案例是,8g内存的服务器,Linux使用800m,监控进程使用600m,堆大小设置4g;系统可用内存有2.5g左右,但是也发生了大量的SWAP占用。

2.8K21

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

一、进程与可执行程序之间关系的理解 系统会将此时在系统运行的进程的各种属性都以文件的形式给你保存在系统的proc目录下。...运行一个程序的时候,本质就是把磁盘中的程序拷贝到内存中,当一个进程运行起来的时候,它本质已经和磁盘中的可执行程序没有直接关系了。...,它本质已经和磁盘中的可执行程序没有直接关系了。...原因是在进程中,一个父进程可能会有多个子进程,父进程想要管理子进程必须通过子进程的标识符,所以父进程必须知道子进程的标识符,而子进程只需要关心自己是否成功创建了,所以返回0。...这和linux中的虚拟地址有关,也就是说,一个变量可以指向不同的地址空间。 写实拷贝 任意进程之间是具有独立性的,不会互相影响。

11810

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

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

33330

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 强制终止进程...函数功能:根据进程名杀死程序     参数:进程名     返回值:无 !...————————————————————— # 根据进程名查询包含进程名的进程 并排除grep查询进程和此脚本进程 ps -ef | grep “$pName” | grep -v grep | grep

15.8K20

2.5.5 作业和进程关系

(1)批处理系统中作业与进程关系进程组织) 批处理系统中的可以通过磁记录设备或卡片机向系统提交批作业,由于系统的spooling输入进程将作业放在磁盘的输入井中,作为后备作业。...父进程在运行过程中可以动态地创建一个或多个子进程,执行说明书中的语句。例如,对一条编译的语句,该进程可以创建一个子进程执行编译程序对用户源程序进行编译。...类似地,子进程也可以继续创建子进程去完成指定的功能。因此,一个作业就动态地转化成了一组运行实体---进程族。...(2)分时系统中作业与进程关系 在分时系统中,作业的提交方法,组织形式均与批处理作业有很大差异。分时系统的用户通过命令语言逐条与系统应答式地输入命令,提交作业步。...这时,用交互系统提供的全屏编辑命令编辑好将要提交的作业控制说明书文件,如windows系统BAT文件和linux系统的sh文件。然后用一条 作业提交命令将作业提交给系统作业队列中。

1.1K10

Linux进程学习【进程状态】

task_struct) PCB 中有着进程的各种信息,包括:PID、PPID、进程状态等 我们可以通过函数 getpid() 获取当前进程的 PID 进程 间存在父子关系,可以通过 fork() 主动创建...,即把手机揣进兜里,然后 专心执行走路这个 进程 进程状态 进程 有各种运行状态,方便OS进行管理,在 Windows 中,进程 状态是这样的 而在我们 Linux 中,新建、就绪、运行都可以看作...运行 R 这一个状态,所以比较清晰 而我们今天要学习的正是 Linux 中的 进程 状态 进程是何种状态,取决于此进程的PCB在哪里排队 ️运行 R 首先来看看第一种状态 R 以我们以往的认知来说...子进程,是观察不到 僵尸状态 的,因为 bash 会执行回收机制,将 僵尸 回收 我们可以利用 fork() 函数自己创建 父子进程 关系,观察到这一现象 #include using...父进程,此时 子进程 会被OS领养 子进程 的 父进程 变为 1号进程进程 就变成了一个 孤儿进程 发出指令终止 父进程 假设 子进程 不被 1号进程 领养 子进程 退出时就会无人回收

19430

进程和线程关系及区别

线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。...二、关系 一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行。...进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。...线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。...1) 简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 2) 线程的划分尺度小于进程,使得多线程程序的并发性高。

2K70

Linux进程学习【进程地址】

因为每个进程都有属于自己的空间,OS 在管理进程时,能够以统一的视角进行管理,效率很高 光有 虚拟地址空间 是不够的,还需要一套完整的 ‘‘翻译’’ 机制进行程序寻址,如 Linux 中的 页表 +...后续对这块进行写入操作时,会直接拒绝 对于这种机制感兴趣的同学可以点击下面这几篇文章查看详细内容: Linux的虚拟内存详解(MMU、页表结构) ARM体系架构——MMU 逻辑地址、页表、MMU等...️写时拷贝 Linux 中存在一个很有意思的机制:写时拷贝 这是一种 赌bo 行为,OS 此时就赌你不会对数据进行修改,这样就可以 使多个 进程 在访问同一个数据时,指向同一块空间,当发生改写行为时...(权限设置) 将 进程管理 和 内存管理 进行 解耦,方便 OS 进行更高效的管理 可以让进程以统一的视角看待自己的代码和数据 ---- 总结 以上就是本篇关于 Linux进程学习【进程地址】的全部内容了...,我们从一个有趣的小问题切入,见识到了 虚拟地址空间 与 物理地址空间 的奇妙关系,在种种机制的加持之下,OS 对进程的管理变得更加得心应手,系统也因此得以高效运行 如果你觉得本文写的还不错的话,期待留下一个小小的赞

14220

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.5K10

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

假设是a进程创建了b进程,那么a进程就是b进程的父进程。...这对于一部分低端的木马具有提醒作用(注意这里说的是能够提示一般的 灰鸽子等变种,高端的木马会绕过这里,具体思路见后面),好了这里再回头说进程关系,这里先说一句关键的话:进程在创建进程时。...IceSworld,Process Explorer等) 查看时,会发现提权的进程的父进程是创建它的进程,这是由于AIS利用了CreateProcessAsUser() API中的一个新的功能,这里的新功能就是将提权进程的父进程设置成创建该进程进程...,假设我们利用一下该API,我们就能够将自己的进程的的父进程设置为随意进程(要提权绕过UAC的鸽子注意了),假设把木马进程的父进程设置为 杀软 的ID或者csrss.exe ,notepad.exe 等可信进程...所以说进程的父进程不一定是进程的创建者,所以那一群依据父进程来看进程是否可信的杀软就呵呵了。 可是这里说下 360 这个绕只是,原因是啥哪? 记得我开篇时说过道高一尺,魔高一丈吗?

1.5K30
领券