美文网首页
进程控制

进程控制

作者: Big_dimple | 来源:发表于2016-04-12 19:54 被阅读68次

关于进程的定义

一个进程由一个地址空间和内核内部的一组数据结构共同组成的。

当计算机开机的时候,内核(kernel)只建立了一个init进程。Linux kernel并不提供直接建立新进程的系统调用。剩下的所有进程都是init进程通过fork机制建立的。新的进程要通过老的进程复制自身得到,fork是一个系统调用,进程存活于内存中。每个进程都在内存中分配有属于自己的一片空间 。当进程fork的时候,Linux在内存中开出新的内存空间给新的进程,并将老的进程空间中的内容复制到新的空间中,此后两个进程同时运行。
老进程成为新进程的父进程,而相应的,新进程就是老的进程的子进程。一个进程除了有一个PID之外,还会有一个PPID来存储的父进程PID。如果我们循着PPID不断向上追溯的话,总会发现其源头是init进程。所以说,所有的进程也构成一个以init为根的树状结构。

1.PID:进程的ID号

每个进程都会有一个独一无二的ID号,就是所谓的PID,并且是按照创建进程的顺序来分配。

2.PPID:父PID

父进程是,一个进程创建时,克隆自身成一个子进程,原来的进程成为父进程,当一个子进程无法辨认时,则父进程PID变成很有用的信息。

3.UID和EUID真实的和有效的用户ID

进程的UID是其创建者的用户标识号,其实是复制了父进程的UID值。
EUID是“有效用户的ID”,这是一个额外的UID。(确定进程何时可以处理哪些文件的权限问题)

4.GID和EGID真实的和有效的组ID

GID就是进程的组标识号,EGID跟GID的关系与UID和EUID类似。


进程的生命周期

Paste_Image.png

以上图片为网上解释的比较好的。


进程的状态

一般分成四个状态:
1.Runnable -(可运行状态) ---进程可以被执行
2.Sleepling -(睡眠状态)-------进程正在等待某些资源
3.Zombie---(僵尸进程)-------进程试图消亡
4.Stopped--(停止状态)-------进程被挂起,不允许执行


进程的优先级:nice和renice

在Linux 操作系统中,进程之间是竟争资源(比如CPU和内存的占用)关系。这个竟争优劣是通过一个数值来实现的,也就是谦让度。高谦让度表示进程优化级别最低。负值或0表示对高优点级,对其它进程不谦让,也就是拥有优先占用系统资源的权利。谦让度的值从 -20到19。
nice 的应用举例:
nice -n 5 gaim & 注:运行gaim程序,并为它指定谦让度增量为5


kill:发送信号,干预进程

语法:kill *[ -single] pid *
single有30多中不同类型的信号,都以数字代替。
1---挂起
2---中断
3---退出
....
常用的一般为9,杀死进程。
killall 后面可以加程序的名字,杀死所有程序相关的进程。

ps/top:监视进程

一般使用命令:
ps aux
ps lux---运行速度比上面的稍快一点
ps -ef
top---动态监控进程
小提示:root用户可以用-q参数执行top,设置成最高优先级,当跟踪一个把系统拖跨的进程的时候特别有用。
其他具体用法,man一下。


失控进程处理

失控进程有两类:
1.过度占用系统某种资源的用户进程
2.另一种是突然发狂并呈现狂暴行为的系统进程
第一种失控未必是一种故障,只是过度占用资源。
可以用上面提到的系统监视命令ps或top以及df -k,查看是那个进程出问题,或是那个进程文件系统使用率过高。然后可用uptime限制进程数,谈后再考虑处理办法。
这个暂时只了解这么多,后续会补充。

相关文章

  • 第二章 进程的描述与控制2

    2.2进程控制与同步 一、进程控制 1、进程控制的基本过程: 1)进程的创建 2)进程的终止 3)进程的阻塞与唤醒...

  • 操作系统第二章第二部分

    2.2进程控制 进程控制的基本过程: ¡进程的创建 ¡进程的终止 ¡进程的阻塞与唤醒 ¡进程的挂起和激活 1.进程...

  • 二.进程(2)进程控制

    2.2 进程控制 进程控制的基本过程: 进程的创建 进程的终止 进程的阻塞与唤醒 进程的挂起和激活 关于进程的亲属...

  • 进程控制块PCB

    进程控制块 每一个进程内核中都有一个进程控制块(PCB)来维护进程相关的信息,linux内核的进程控制块时 tas...

  • APUE第9章 进程关系、进程组、会话

    9 进程关系 在第8章学习了进程的控制原语,通过各种进程原语可以对进程进行控制,包括新建进程、执行新程序、终止进程...

  • 进程管理

    进程 进程由程序、数据、进程控制块(PCB)组成。而进程控制块其实本质就是个数据结构,用来记录进程信息的。 进程的...

  • PHP 扩展知识

    pcntl扩展:(进程控制) pcntl扩展是进程控制的重要扩展,但目前Win不支持。包含进程创建、进程监控、...

  • child_process

    目录 进程 线程 Node.js的进程控制 Node.js的线程控制 进程 Process 场景 notepad....

  • 进程(二)—— 控制与通信

    1. 进程控制 进程控制的主要功能是对系统中所有进程实施有效的管理,它具有创建新进程、撤销已有进程、实现进程状态转...

  • 异常控制流

    异常控制流 7.1 进程与进程的上下文切换 程序和进程的概念 进程的逻辑控制流 进程的上下文切换 进程的私有地址空...

网友评论

      本文标题:进程控制

      本文链接:https://www.haomeiwen.com/subject/snrilttx.html