位置: 编程技术 - 正文

Linux进程间的关系详解(linux的进程管理命令)

编辑:rootadmin

推荐整理分享Linux进程间的关系详解(linux的进程管理命令),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux关掉进程,linux的进程管理命令,linux的进程管理命令,linux中的进程,linux 进程相关命令,linux的进程管理命令,linux 关进程,linux 关进程,内容如对您有帮助,希望把文章链接给更多的朋友!

Linux的进程相互之间有一定的关系。比如说,在Linux进程基础中,我们看到,每个进程都有父进程,而所有的进程以init进程为根,形成一个树状结构。我们在这里讲解进程组和会话,以便以更加丰富的方式了管理进程。

进程组 (process group)

每个进程都会属于一个进程组(process group),每个进程组中可以包含多个进程。进程组会有一个进程组领导进程 (process group leader),领导进程的PID (PID见Linux进程基础)成为进程组的ID (process group ID, PGID),以识别进程组。复制代码代码如下:$ps -o pid,pgid,ppid,comm | cat</p><p> PID PGID PPID COMMAND bash ps catPID为进程自身的ID,PGID为进程所在的进程组的ID, PPID为进程的父进程ID。从上面的结果,我们可以推测出如下关系:

图中箭头表示父进程通过fork和exec机制产生子进程。ps和cat都是bash的子进程。进程组的领导进程的PID成为进程组ID。领导进程可以先终结。此时进程组依然存在,并持有相同的PGID,直到进程组中最后一个进程终结。

我们将一些进程归为进程组的一个重要原因是我们可以将信号发送给一个进程组。进程组中的所有进程都会收到该信号。我们会在下一部分深入讨论这一点。

会话 (session)

更进一步,在shell支持工作控制(job control)的前提下,多个进程组还可以构成一个会话 (session)。bash(Bourne-Again shell)支持工作控制,而sh(Bourne shell)并不支持。

Linux进程间的关系详解(linux的进程管理命令)

会话是由其中的进程建立的,该进程叫做会话的领导进程(session leader)。会话领导进程的PID成为识别会话的SID(session ID)。会话中的每个进程组称为一个工作(job)。会话可以有一个进程组成为会话的前台工作(foreground),而其他的进程组是后台工作(background)。每个会话可以连接一个控制终端(control terminal)。当控制终端有输入输出时,都传递给该会话的前台进程组。由终端产生的信号,比如CTRL+Z, CTRL+,会传递到前台进程组。

会话的意义在于将多个工作囊括在一个终端,并取其中的一个工作作为前台,来直接接收该终端的输入输出以及终端信号。 其他工作在后台运行。

一个命令可以通过在末尾加上&方式让它在后台运行:复制代码代码如下:$ping localhost > log &此时终端显示:复制代码代码如下:[1] 括号中的1表示工作号,而为PGID

我们通过如下方式查询更加详细的信息:复制代码代码如下:$ps -o pid,pgid,ppid,sid,tty,comm(tty表示控制终端)

信号可以通过kill复制代码代码如下:$kill -SIGTERM -或者复制代码代码如下:$kill -SIGTERM %1的方式来发送给工作组。上面的两个命令,一个是发送给PGID(通过在PGID前面加-来表示是一个PGID而不是PID),一个是发送给工作1(%1),两者等价。

一个工作可以通过$fg从后台工作变为前台工作:复制代码代码如下:$cat > log &$fg %1当我们运行第一个命令后,由于工作在后台,我们无法对命令进行输入,直到我们将工作带入前台,才能向cat命令输入。在输入完成后,按下CTRL+D来通知shell输入结束。

进程组(工作)的概念较为简单易懂。而会话主要是针对一个终端建立的。当我们打开多个终端窗口时,实际上就创建了多个终端会话。每个会话都会有自己的前台工作和后台工作。这样,我们就为进程增加了管理和运行的层次。在没有图形化界面的时代,会话允许用户通过shell进行多层次的进程发起和管理。比如说,我可以通过shell发起多个后台工作,而此时标准输入输出并不被占据,我依然可以继续其它的工作。如今,图形化界面可以帮助我们解决这一需求,但工作组和会话机制依然在Linux的许多地方应用。

总结

process group, pgidsession, sid, job, forground, backgroundfg, kill -pid, &, %

VPS修改SSH登陆端口和禁止ROOT登陆 修改SSH登陆端口修改文件:/etc/ssh/sshd_configPort#在第三行或第四行,如果前面有井号,请删除,修改为以下即可可在远程连接中用vi命令,或sftp下载

不同版Linux隶属同台电脑配置的解决方案 有时候我们需要同时安装两个版本的系统,这听起来似乎有点难度,其实不然。如果你能正确的掌握系统安装技术,那么这点小问题对你而言根本是手

系统强化 指点你怎样强化Linux安全 时常有人说,Linux比Windows更安全。但与网络衔接的任何计算机是不能够相对安全的。正如我们须要经常留意院子的围墙能不能稳固一样,对操作系统也

标签: linux的进程管理命令

本文链接地址:https://www.jiuchutong.com/biancheng/353496.html 转载请保留说明!

上一篇:Linux硬盘分区注意事项 Partition与档案系统管理(linux系统硬盘分区)

下一篇:VPS修改SSH登陆端口和禁止ROOT登陆(修改ssh端口号)

  • 服务费可以计入办公费吗
  • 个税补缴纳
  • 政府返还的增值税怎么算
  • 未分配利润期末余额在借方还是贷方
  • 没开发票可以确认收入吗?
  • 专用发票不抵扣怎么做分录
  • 材料采购发生的合理损耗计入
  • 物业公司收到一年物业费开具发票后如何确认收入
  • 子公司之间固定资产转让
  • 母公司给子公司担保需要决议吗
  • 退回所得税怎么处理
  • 个人所得税可以抵扣哪些费用
  • 一般纳税人企业要交哪些税
  • 高新技术企业怎么申报企业所得税
  • 分工分类法
  • 弥补以前年度亏损从哪里取数
  • 事业单位事业收入和经营收入要上缴财政
  • 供应商开免税的发票,为何还要收3个点税金?
  • 财务费用属于什么会计科目类别
  • 城市维护建设税属于什么税种
  • 摊销费用多做如何做账?
  • 测试费怎么入账
  • win7为什么现在不能用了
  • ibm笔记本进bios
  • 预付加油卡发票可以报销吗
  • 辅助生产车间照明用电计入哪个科目
  • 出口企业年底结转税金
  • 剑灵怎么截图正版
  • 销售返利计入什么费用
  • 物业管理费发票图片
  • php实现数据批量导入
  • 一般纳税人向小规模纳税人开专票
  • thinkphp ide
  • web后端开发框架有哪些
  • gridview功能
  • vue如何实现登录
  • vue 动态组件
  • 支付第三方劳务费计入什么科目
  • 应纳税所得额100-300万税率
  • opengl 帧率
  • 应收利息的罚息是复利吗
  • 代理返点怎么算
  • 非金融企业之间借款
  • 培训发票税点
  • mssql使用教程
  • sql语句的查询语句
  • 对外支付代扣代缴税费
  • 疫情期间上班,公司是否给员工买保险
  • 企业缴纳个人所得税客户端
  • 应付职工薪酬的账务处理
  • 港币转人民币怎么算
  • 免抵退 免退
  • 车间不生产折旧计提放哪里
  • 农产品成本包含所消耗的物资费用
  • 管道固定装置
  • 不属于投资性房地产项目有自用房地产作为存货的
  • 多计提的税款会计处理
  • 租来的办公室装修费摊销几年
  • MS-SQL Server 2005 其中三个版本的比较
  • sql server触发器的编写与使用
  • ksysslim.exe
  • 微软今天正式停产了吗
  • jsp环境变量配置的步骤
  • 免打扰模式在哪关
  • win7系统360浏览器书签
  • win7系统怎么启用本地连接
  • win10盘符怎么看
  • 电脑照片应用使用不了
  • 微信小程序wx.request实现后台数据交互功能分析
  • JQuery.Ajax()的data参数类型实例详解
  • linux shell打开文件
  • css基础知识教程
  • [置顶]bilinovel
  • python重复操作符
  • python与c
  • 推荐一些非常不好的书
  • 非营利组织税务处理
  • 个税更正申报后,少缴纳的税款如何退回
  • 怎么找到税控系统发票作废怎么操作
  • 西乡塘区税务局电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设