linux进程详解

进程

百科

PID

各个

参数的解释

PID是内核管理进程的标识符,init pid永远为1

Code

Code是进程调用程序的代码块

变量

变量就是

Library

Library即库文件,是进程

File

File即参数,argument,被操作对象

进程的概念是60年代初首先由麻省理工学院的MULTICS系统和IBM公司的CTSS/360系统引入的。

简单结构:

进程(process)其实是用户的代理(agent)

可以用pstree查看当前系统进程机构,如下如所示

linux进程详解

我们知道对linux来说一切皆文件,进程也不例外,我们可以通过ls /proc(proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间)查看与进程相关联的文件,如linux进程详解

内核的功能。说之前我们来了解一下内核的五个子系统

linux进程详解

一:内存的管理

二:进程的管理

三:硬件管理

四:文件系统管理

五:cpu管理

进程的调度控制着进程cpu的访问,当需要选择下一个进程运行的时候,有调度程序选择最值得运行的进程。可运行的进程实际是进等待cpu资源的进程,也就是R进程,如果某个进程在等待其他资源,则该进程是不可运行进程

Linux中进程分为两类

1:用户进程,有用户通过终端(terminal)命令启用的进程,因此又称为终端进程

2:守护进程(daemon):在系统引导式时就启动,是后台服务进程大多数服务进程都是通过守护进程实现的(crond,打印进程),与终端无关

查看系统进程

Ps

a 显示所有与终端有关的进程

x 显示所有与终端无关的进程,即daemon进程

u 以用户为导向显示,即显示进程属主

进程结构,如下图

linux进程详解

USER:进程属主,既有那个用户发起的进程

PID: Process Id,进程唯一标识符

%CPU: Currently, it is the CPU time used divided by the time the process has been

running (cputime/realtime ratio), expressed as a percentage.

%MEM: ratio of the process?. resident set size to the physical memory on the machine, expressed as a percentage

VSZ:该进程使用的虚拟内存量(KB)

RSS:该进程占用的固定内存量(KB)

TTY:该进程哪个终端上运行,若与终端有关,则显示(?)。如果tty1-tty6市本级上的登陆者进程,若为pts/0等,则表示有网络连接主机进程

STAT:该进程的当前状态。主要状态有:

-R 该进程当前正在运行,或者等待运行

-S 该进程当前正在睡眠,但可被某些信号唤醒

-T 该进程当前正在检测或停止

-Z 该进程已终止,但其父进程无法正常终止它,造成“僵尸”进程状态

START:该进程被触发启动的时间

TIME:该进程实际使用CPU运行的时间

COMMAND:该进程的实际命令

补充:优先级问题

状态S后边的字符表示该进程的优先级

<:表示高优先级

N:低优先级

查看进程:

前面已经有所介绍,这里详细介绍一下

ps aux(不加—) 查看所有进程(包括与终端有关没关的)

ps axo keyword,keyword,keyword 查看进程的某些选项

eg:ps axo comman,tty

ps –ef 以完整的格式显示

搜索特定的进程

1:传统的正则表达式

eg:ps axo comman,tty |grep ttys0

2:命令

pgrep –u user 搜索由特定用户发起的进程 eg pgrep –u root

pgrep –G group 搜索由组户发起的进程 eg pgrep –G root

pgrep –p pid 搜索由特定用户发起的进程 (猜想)

更多 man pgrep

pidof +服务名称 显示属于某服务的进程的进程号

eg #pidof sshd

#2717 1982

信号 :就是进程之间通信的信息

可以用 kill –l

linux进程详解

上图为所有linux所有信号

常用的有1)SIGHUP :重读配置文件

9)SIGKILL :强行终止进程

15)SIGTERM :允许该进程完成本次计算在终止(默认)

19)SIGSTOP :

结束进程

kill + pid =kill -15 +pid = kill - SIGTERM PID = kill - TERM PID

killall

-u user 结束属于某个用户的进程

服务名称(httpd) 结束某个服务的全部进场

修改优先级

每个进程在启动的时候都有一个优先级(priority),,优先级范围在 -20-19之间,默认是0,也可以修改,现在就来学习一下怎么修改进程优先级

一:未启动的进程

nice –n num command 表示command命令以优先级n启动

二:已经触发的进程

renice num –p pid 重新调整一个进程的优先级

renice -1 –p 11114 将11114进程的优先级调整为-1

普通用户无法提高自己的优先级,但可以降低自己的优先级

top

交互式查看进程,与之前ps(一个进程snapshot)不同的是,这里可以动态查看各个进程的状态

top的一些参数

-d :后面可以接秒数,表示top刷新时间(默认5s)

-b :可以批处理的方式执行top,

-n :与-b连用,表示进行几次的top输出文件

-p :指出某些个pid来进行观察监测

eg: top –d 2

top –b –n 2 </tmp/top.txt

top -d 2 –p10604

linux进程详解

top执行结果参数分析

参数分析

linux进程详解

仅进行一次的工作任务分配:at

at的语法

linux进程详解

linux进程详解

linux进程详解

at –l 可以显示所有的作业列表

at作业的控制

linux进程详解

命令分组

当要让两个命令一起执行时,就要对命令进行分组(说明:分组后的命令不是在当前shell中执行的,而是在其子shell中进行)下面试验一下

date;who|wc -l

linux进程详解

看到结果并非是我们预期的那样,这是我们就得进行分组操作

(date;who)|wc -l

linux进程详解

成功了,所以当需要两个命令同时执行时,就需要命令分组

信号捕捉问题

trap可以根据后面的信号指定不住道信号

格式

trap ‘ command ’ SIG*

这表示当收到SIG*信号时,trap执行 ‘ ’ 中间的命令

eg

trap () {

trap ‘echo “you stop it && exit 3” ’ SIGNINT

}

CONFIGURING THE BASH SHELL

shell变量:环境变量 本地变量

env 可以查看所有的环境变量

set 可以查看所有的变量(包括环境变量和本地变量)

export可以声明一个环境变量

export PATH=$PATH:/root

此声明只对当前shell生效,重启系统后就会失效

linux中常见的环境变量

HOSTNAME:主机名称,可以用hostname命令临时声明一个,如果要永久生效必须得写到配置文件中/etc/sysconfig/network/,

linux进程详解

其他的

linux进程详解

alias可以为命令指定自己喜欢的别名

例:alias cl=clear 前一个是别名,后者是命令

当起别名是,命令中含有空格需要用单引号包括住

alias cdn=’ /etc/sysconfig/network-scripts/ifcfg-eth0 ’

这样的声明只对当前shell生效,永久生效后面介绍

startup文件时系统初始化用户shell环境的配置文件

linux shell分为两类

一:登陆shell

登陆shell是用户可以通过账号密码登陆,获取系统资源,登陆

二:非登陆shell

系统完成自动化管理所处的shell环境,运行在系统的后台,不需要登陆,如crontab,at等

profile登陆配置文件

在/root目录下有关于profile的隐藏文件

/etc/profile /etc/profile.d /etc/bashrc

在用户的家目录下,也有几个关于profile的文件

~/.bash-profile ~./bashrc

登陆shell读取配置文档的顺序

/etc/profile -- ~/.bash-profile - /etc/profile.d --~./bashrc---/etc/bashrc,

看过这个顺序,我们看出家目录中的设置回覆盖全局变量,

非登陆shell读取配置文档的顺序

~/.bashrc -- /etc/bashrc -- /etc/profile.d

profile文件是登陆shell环境配置文件

bashrc 非登陆shell的环境配置文件

/etc/profile ,~/.bash-profile 定义环境变量及执行一些系统检查命令

/etc/bashrc ~./bashrc 定义本地变量,也可以做一些改名,如alias

source +文件 表示重读文件

如当我们配置过网卡属性时,我们不仅可以用service network restart 或 ifdown eth0 &&

ifup eth0 ,我们也可以用source /etc/sysconfig/network-scripts/ifcfg-eth0,重读一下配置文件即可

source +文件= . (点) 文件

service 服务名称 status可以查看某个服务的状态,与chkconfig 服务名称 -–list 效果差不多

更多相关文章
  • inux守护进程详解(1) Linux启动时需要加载很多服务,提供这些服务的程序是由运行在后台的守护进程来执行的.守护进程是生存期长 的一种进程.它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件.常常在系统引导装入时启动,linux系统有很多守护进程,大多数服 务都是用守护进程实现 ...
  • Linux系统守护进程详解不要关闭下面这几个服务:acpid, haldaemon, messagebus, klogd, network, syslogd 1. NetworkManager, NetworkManagerDispatcherNetworkManager 是一个自动切换网络连接的后 ...
  • Linux系统详解 第六篇:系统的启动.登录注销.与开关机前言:本系列文章取材广泛,有来自于互联网的,有来自教科书的,有来自自己的笔记的,也有来自自己对Linux的经验积累的.此系列的文章都是经过长时间的整理并多次修改后发布.本文章的目的是为了让刚入门Linux的读者能够快速的入手而无需到此搜索网络 ...
  •  linux系统目录详解1.概述   这是我在51cto开博的第一篇博客,从事运维将近10年,经验丰富.接触面广.今天我利用2个小时的时间详解了linux系统目录,其中有一些是自我了解,有一些是以前的学习资料.我开博的目的其一是与网友共享知识资源,其二是自我学习过程记录.2.目录详解/      处 ...
  • Linux系统详解 第六篇:系统的启动.登录.注销与开关机原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://johncai.blog.51cto.com/1447637/714202Linux系统详解 第六篇:系统的启动.登录注销. ...
  • pdflush 进程详解1. 简介     由于页高速缓存的缓存作用,写操作实际上会被延迟.当页高速缓存中的数据比后台存储的数据更新时,那么该数据就被称做脏数据.在内存中累积起来的脏页最终必须被写回磁盘.在以下两种情况发生时,脏页被写回磁盘:·当空闲内存低于一个特定的阈值时,内核必须将脏页写回磁盘, ...
  • 10.Linux命令详解
    10.Linux 命令详解 课程要求: 1.了解Linux系统的常用命令的使用. 实验器材: 软件: 1.安装了RHEL6的vmware虚拟机. 硬件: 1.PC机一台. 背景知识: 1. Linux命令介绍: linux 命令是对 Linux 系统进行管理的命令.对于 Linux 系统来说,无论是 ...
  • Linux系统详解第一篇:Linux简介
    Linux系统详解第一篇:Linux简介 导语:注意:本文章取材广泛,有来自于互联网的,有来自教科书的,有来自自己的笔记的,经过长时间的整理并多次修改后发布.本文章的目的是为了让刚入门Linux的读者对Linux的发展历史和发行版本有个很好的了解.如果发现本文章有什么疏漏的地方前指出,让我们共同努力 ...
一周排行
  • 看完<士兵突击>,一共用了3天的时间,利用这个春节的假期.平均每天看10集,这3天,我每天都会被许三多的憨和傻逗笑,每天,也会被他的这种善良.憨厚.执着.把每一件事情去精益求精地做好.不功利做人态度.为他 ...
  • 1,ldap server 192.168.98.129      client  192.168.98.128客户端加入到ldap 域,使用ldap账户登录,见 <ldap客户端加入域和ssl加密查询> ...
  • Squid不透明代理的简单实验redhat5.4
     Squid 是应用在Linux上的一款强大的代理服务器,能够实习对上网浏览内容的控制,能 ...
  •   现在使用了win7系统,在安装office办公软件后经常会有出现“向程序发送命令时出现错误”的情况,特别是开发人员(.NET)会出现的频繁一些,当然其他用户也会出现.具体原因是:在win7上运行office时,会 ...
  •  C#支持单继承,说到继承就不得不说new,virtual和override这三个关键词,灵活正确的使用这三个关键词,可以使程序结构更加清晰,代码重用性更高. 以下是msdn中对new,virtual和overrid ...
  •          我很同情百度,真的,她现在就像是一个失意的人生,没有未来,只有从前.         奶粉门,百度该怎样考虑自已?         深陷入"奶粉门"的百度越来越没有了朝气了,对于 ...
  •       美国<时代周刊>杂志评选的十大电子产品排行榜中,Netgear公司的Skype WiFi电话排名第三,理由是这是全球第一部无线互联电话,无论在世界任何地方.任何时间,只要有WiFi的接入,就能 ...
  • 快捷方法: $.get(url,[data],[callback],[type])get方法的[data]将被链在url后面[callback]是请求成功后的回调,可以得到响应数据,如果请求失败,看不到callbac ...
  • ADMT 3.0 和 Exchange 2003 迁移全攻略一.环境介绍:A域和B域分属于不同的独立组织林,都运行windows2003和exchang2003.A域的用户和组.邮箱要全部迁移到B域中去.二.软件准备 ...
  • Access.Hybrid和Trunk三种模式的理解Tag,untag以及交换机的各种端口模式是网络工程技术人员调试交换机时接触最多的概念了,然而笔者发现在实际工作中技术人员往往对这些概念似懂非懂,笔者根据自己的理解 ...