`
linvar
  • 浏览: 257690 次
  • 性别: Icon_minigender_1
  • 来自: 未定
社区版块
存档分类
最新评论

linux 笔记3

阅读更多
进程控制
1.进程的组成部分
一个进程由一个地址空间和内核内部的一组数据结构组成. 地址空间是由内核标记出来供进程使用的一组内存页面.
内核内部数据结构记录了有关每个进程的各种信息:
  a.进程的地址空间映射
  b.进程的当前状态
  c.进程已用的资源的信息
  d.进程已打开的文件和网络端口信息.
  e.进程的信号掩码(确定要封鎖哪些信号)
  f.进程的属主

2.进程的运行参数
  a.PID 内核分配给进程的独一无二的ID号
  控制进程的大多数命令或系统调用必须指明PID
  b.PPID 父PID
  linux没有提供创建新进程去运行某个特定程序的系统调用,现有进程需要自己克隆自身去创建一个新进程
  c.UID和EUID 真实的和有效的用户ID
  d.GID和EGID 类似之上
  e.谦让度
  f.控制终端
  大多数不是守护进程的进程都有一个与自己相关联的控制终端,控制终端决定了为标准输入,标准输出和标准错误通道而提供的默认链接.当用户从shell启动一个命令时,他的终端通常就成为该进程的控制终端.

3.进程的生命周期
为了创建一个新进程,一个进程就会用系统调用fork来复制本身.新进程拥有一个不同的PID和它自己记账信息.
除了内核创建的那几个进程以外,其他所有进程都是init的后代.
当一个进程执行完毕时,init调用一个名为_exit的例程来通知内核它已经做好了"消亡"的准备了.它提供一个退出码(整数)表明退出的原因.按照惯例,0表示正常退出
在允许进程完全消失前,linux要求该进程的消亡得到其父进程的确认.
父进程是通过wait来确认的.
如果父进程比子进程消亡得早,那么这些"孤儿"子进程就成为init的子进程

4.信号
信号是进程级的中断请求,系统定义了大约30种不同各类的信号.使用这些信号的方式:
(1).作为一种通信手段在进程之间发送信号
(2).当键入特殊按键时,比如<ctrl-c>和<ctrl-z>,可以由终端驱动程序发送信号去终止,中断或挂起进程
(3).可以由管理员(使用kill命令)发送信息来达到各种結果
(4).当进程出错时,可以由内核发送信号
(5).可以由内核发送信号,通知一个进程有某种"受关注的"条件出现,比如一个子进程消亡或在I/O通道上有数据
当收到信号时,可能发生两种情况之一.
如果接收进程已经为这个特定信号指派了一个信号处理例程,处理之
否则,内核代表该进程采取某种默认措施.
一些基本的信号:
# 名称 描述 默认 是否能捕获? 是否能封锁? 是否转储内存映像
1 HUP 挂起 终止     是           是          否        
2 INT 中断 终止     是           是          否        
3 QUIT 退出 终止     是           是          是        
9 KILL 杀死 终止     否           否          否        
b BUS 总线错误 终止     是           是          是        
11 SEGV 段错误 终止     是           是          是        
15 TERM 软件终止 终止     是           是          否      
b   STOP 停止 停止     否          否          否        
b   TSTP 键盘停止 停止     是           是          否      
b   CONT 停止以后继续 忽略     是        否          否     
b   WINCH 窗口改变 忽略     是           是          否     
b   USER1 用户定义 终止     是           是          否     
b   USER2 用户定义 终止     是           是          否     


也可以使用# kill -l 获得一份信号清单
一个程序崩溃次数中99%最終都可以归结为是BUS,SEGV这两种错误的一种.它们都表明有不正确使用或访问内存的企图
KILL STOP信号不能被捕获,封锁或忽略。KILL信号清除接收到它的进程,STOP信号挂起正在执行的进程,一直到该进程接收到CONT信号为止.
TSTP信号是STOP信号的一个"软"版本,应该是对"停止"的请求.这是由用户在键入<ctrl+z>时由终端驱动程序生成的信号.
INT是由<ctrl+c>产生的信号,终止当前操作的请求

5. kill和killall : 发送信号
# kill [-signal] pid
# kill -15 4333 或 kill -TERM 4333
一般pid都是使用ps命令找出,
也可以使用#killall comn_name 来匹配找到相关的PID

6.进程的状态
Runnable, Sleeping, Zombie, Stopped

7.使用ps,top监视进程
# ps aux  或 ps lax 都能得到比较祥細的信息
top是动态更新活动进程以及其所使用资源情况的汇总信息

8./proc文件系统
linux版的ps,top命令都是从/proc目录读取进程的状态信息,内核把有关系统状态的各种有意义的信息都放在这个伪目录里.
分享到:
评论

相关推荐

    Linux学习笔记【博文整理系列】

    Linux笔记——vim常用操作及扩展补充[手册] Linux笔记——linux常用命令集合 Linux笔记——命令:awk Linux笔记——命令:sed Linux笔记——命令:grep Linux笔记——命令:find Linux笔记——命令:Sort,uniq,join,...

    狂神说Linux课堂笔记.pdf

    本篇课堂笔记主要从Java全栈开发的角度出发,针对Linux的学习和应用进行了深入讲解。 首先,课堂笔记强调了学习Linux的理由。尽管Linux在桌面操作系统上很难取代Windows的主流地位,但其在服务器端和开发领域却...

    华为工程师总结Linux笔记.pdf

    Linux 进阶篇 3 Linux 高级篇 4 第 1 章 Linux 快速入门 5 第 2 章 Linux 发展及系统安装 15 第 3 章 CentOS 系统管理 42 第 4 章 Linux 必备命令 72 第 5 章 Linux 用户及权限管理 93 第 6 章 Linux 软件包企业实战...

    老男孩linux笔记

    老男孩linux笔记

    韩顺平2018Linux视频笔记

    韩顺平2018Linux视频笔记,我添加了书签

    linux笔记笔记笔记笔记

    以上就是“Linux笔记笔记笔记笔记”所涵盖的主要知识点,这些内容覆盖了Linux系统的基本操作、网络编程、脚本编写、版本控制等多个方面,对于提升Linux技能和解决实际问题大有裨益。学习并熟练掌握这些知识,能够...

    Linux笔记.zip

    这份“Linux笔记.zip”文件显然包含了关于Linux操作系统的详细学习资料,特别是对命令行操作的总结。以下是根据标题、描述和标签生成的相关知识点: 1. **Linux命令**:Linux的核心在于其命令行界面,其中包含了...

    马哥的linux学习笔记

    《马哥的Linux学习笔记》是一份针对初学者和进阶者精心编撰的Linux教程,旨在帮助读者全面掌握Linux操作系统的核心概念、命令行操作以及系统管理技能。这份笔记以清晰明了的语言和实例解析了Linux系统的各个方面,是...

    linux笔记.txt

    常规的linux笔记

    Linux笔记全套-最新版.zip

    Linux笔记全套-最新版.zipLinux笔记全套-最新版Linux笔记全套-最新版Linux笔记全套-最新版Linux笔记全套-最新版Linux笔记全套-最新版Linux笔记全套-最新版Linux笔记全套-最新版Linux笔记全套-最新版Linux笔记全套-...

    Linux笔记(做的笔记)

    Linux笔记,笔记中包含Linux的知识点,但是我还没有完全整理完,后面我会补上的!

    linux笔记(尚硅谷韩顺平linux笔记)

    Linux笔记 配合我的博客使用 为我的博客Linux常用命令文本版

    国嵌Linux笔记.zip

    【国嵌Linux笔记】 在IT领域,Linux是一个广泛使用的开源操作系统,它的内核由林纳斯·托瓦兹(Linus Torvalds)于1991年创建。Linux以其稳定、安全、高效和可定制性著称,尤其在服务器、云计算、物联网(IoT)以及...

    黑马Linux笔记.zip

    【标题】"黑马Linux笔记.zip"是一个包含了作者在学习Linux操作系统过程中所整理的学习资料的压缩包。这个压缩文件主要是为了帮助读者深入理解Linux系统的核心概念、命令操作以及系统管理技能。 【描述】"黑马学习...

    韩顺平 LINUX 笔记全

    韩顺平 LINUX平台 课堂学习笔记 包括1,2,3,4,5

    Linux笔记xmind文档,linux命令整理

    Linux笔记xmind文档,linux命令整理 

    Linux笔记.pdf

    Linux 笔记 一、Linux 概述 Linux 是一个开源的操作系统,由 Linus Torvalds 于 1991 年创建。它是一种自由、开放的操作系统,任何人都可以自由地使用、修改和分发。 二、Linux 的特点 1. 严格区分大小写 2. ...

    尚硅谷Linux学习笔记(不包含shell)超级详细版

    我自己看完韩顺平老师在尚硅谷发布的新版的Linux的视频,看到了在Linux下安装Tomcat,JDK这个地方,不包含shell编程的笔记。因为以前我觉得Linux很难,所以一直想学会,这次笔记做得比较详细。另一个亮点是使用...

    马哥linux手写笔记

    3. **权限与用户管理**:Linux的安全性依赖于严格的权限系统,笔记会涉及用户和组的概念,以及chmod、chown、chgrp等命令的使用。 4. **网络配置与服务**:Linux作为服务器操作系统,网络知识必不可少。笔记可能...

    qinwant#Notes-1#Linux笔记3-磁盘管理1

    (1) 同一个文件系统不要重复挂载在不同的挂载点 (2) 单一目录不要挂载多个文件系统 (3) 挂载点要为空目录

Global site tag (gtag.js) - Google Analytics