文档章节

linux进程

memristor
 memristor
发布于 2016/06/09 18:42
字数 840
阅读 53
收藏 4

进程简介

多个进程组成进程组,一个进程组有一个领导进程,领导进程的pid为领导组的pgid,领导进程可以先终结。此时进程组依然存在,并持有相同的PGID,直到进程组中最后一个进程终结。我们可以将信号发送给一个进程组。进程组中的所有进程都会收到该信号

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

会话主要是针对一个终端创建的,打开多个终端就等于创建了多个会话

认识进程

 

pid:进程

ppid:父进程

command:进程简称

cmd:运行的程序以及所带的参数

其中init是系统创建的第一个进程,pid为1

常见命令

ps axjf

ps aux

列出此次登陆的相关pid

# F 代表这个程序的旗标 (flag), 4 代表使用者为 super user;
# S 代表这个程序的状态 (STAT);进程状态详细介绍见下:
# C CPU 使用的资源百分比
# PRI 进程优先级,值越小越有限执行;
# NI 进程优先级修正值,PRI(new)=PRI(old)+nice
# ADDR 进程在内存中地址,如果是个 running的程序,一般就是『 - 』的啦!
# SZ 使用掉的内存大小;
# WCHAN 目前这个程序是否正在运作当中,若为 - 表示正在运作;
# TTY 登入者的终端机位置啰;
# TIME 使用掉的 CPU 时间。
# CMD 所下达的指令

进程状态

S处于休眠状态

N优先级较低的进程

s进程领导者,其下面有子进程

< 优先级高的进程

l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads)

D 无法终端的休眠状态,无法向进程发送信号

R正在运行的进程

Z僵尸进程

+位于后台的进程组

进程创建

计算机开机,kernal只创建init进程,剩下的所有进程都是init通过fork复制创建的,新创建的进程是init的子进程,子进程还可以继续创建子进程,所有进程的源头都是init,通过pstree查看进程树

进程退出

父进程负责对子进程的内存空间进行回收,父进程使用wait函数获取子进程退出信息

孤儿进程与僵尸进程

孤儿进程orphand:父进程先退出,子进程还在运行,子进程被init领养并由init完成状态搜集,不会浪费资源

僵尸进程zombie:子进程在父进程没有调用wait的情况下退出,这个子进程就是僵尸进程,僵尸进程无法回收,会浪费资源

进程状态。僵尸进程怎么处理?先杀父进程,再杀子进程,前提是父进程可以被杀

linux进程管理

 

proc目录映射了当前系统的进程运行情况

© 著作权归作者所有

下一篇: tcpdump抓包
memristor
粉丝 45
博文 203
码字总数 176319
作品 0
长沙
程序员
私信 提问
linux的多用户

linux继承了unix的很大一部分东西,自设计开始就是多用户的,那么这个多用户到底体现在什么地方呢?多用户和linux操作系统的设计又有何关联呢? 首先看看原始的多用户,所谓多用户就是有很多...

晨曦之光
2012/04/10
1K
0
超实用的8个Linux命令行性能监测工具

摘要:本文总结了8个非常实用的Linux命令行性能监测工具,这些命令支持所有的Linux系统,不仅可以用于监控系统,还可以发现导致性能问题的原因所在。 对每个系统/网络管理员来说,每天监测L...

Neo_
2012/09/25
0
2
Linux守护进程--依然是进程

在linux中,服务是一种特殊的进程,可以说它和用户无关,它的作用不是完成用户任务,而是进行一些管理类的操作或者通用的服务类操作,实际上linux的服务就是一个进程,也仅仅是一个进程。 在...

晨曦之光
2012/04/10
610
0
Android的ps命令介绍和技巧

在Linux下,ps是非常普通的命令: ps -aux 查看所有正在运行的进程 ps | grep xxx 显示过滤指定名称的进程 可是以上的命令在Android上,都不起作用! What?!!!Android不是基于Linux系统的...

zhiweiofli
2013/06/18
0
1
Android安全模型之Linux安全模型

Android系统以Linux内核为基础,理解Android的安全设计首先要理清Linux安全模型的主要概念与元素,包括用户与权限,进程与内存空间等。 用户与权限 Linux安全模型的基础是用户与用户组。Lin...

柳哥
2014/11/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ubuntu或ubuntu kylin优麒麟中安装QQ、wechat微信、百度网盘

从中国国内的地址下载deepin wine,码云上的。这样网速比较快。然后,按照说明向下安装。 https://gitee.com/wszqkzqk/deepin-wine-for-ubuntu...

gugudu
13分钟前
1
0
基于redis分布式锁实现“秒杀”

最近在项目中遇到了类似“秒杀”的业务场景,在本篇博客中,我将用一个非常简单的demo,阐述实现所谓“秒杀”的基本思路。 业务场景 所谓秒杀,从业务角度看,是短时间内多个用户“争抢”资源...

别打我会飞
33分钟前
10
0
Zookeeper的实践指南

本章重点 1.数据存储2.基于Java API初探Zookeeper的使用3.深入分析Watcher机制的实现原理4.Curator客户端的使用,简单高效 数据存储 事务日志快照日志运行时日志 bin/zookeepe...

须臾之余
37分钟前
1
0
MySQL mybatis Point类型数据

MySQL中的point用于表示GIS中的地理坐标,在GIS中广泛使用 如何写入mysql,如下图: CREATE TABLE `test-point` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '序号', `point` ......

张欢19933
48分钟前
2
0
设计模式-适配器模式

适配器模式 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 这种模式涉及到一个单一的类,该类负责加入...

HOT_POT
今天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部