linux下进程管理,linux下进程管理

.主要内容:

�查看进程状态

�进程的挂起和恢复

�杀死进程

�改变运行优先级

PATH环境变量

.系统中每个用户都有PATH环境变量,该变

量用来记录命令的查找路径,当用户输入命

令时,shell会从PATH设置的路径从左至右

查找,找到后执行,如果找不到会报错。

.系统中用户有默认的环境变量,也可以根据

实际情况自己改变。

PATH环境变量

PATH环境变量

除了系统自带的应用程序之外运行的程

序,通常不包含在PATH环境变量中,通常

指定相对路径或绝对路径来运行。

进程管理

.相关概念

�程序:一个静态的计算机指令集合

�进程:在自己独立虚拟地址空间运行中的程序

或子程序――进行中的程序

�作业:为了达成一定任务而执行的一个或多个

进程

�作业控制:控制运行中的进程的行为

进程管理

什么是进程呢??

.程序是静态的(那些可执行程序)

.程序的动态执行就会产生进程!

.系统会给每个进程一个pid!

进程管理

.所有进程都是由init进程产生的,init进程号

恒为1。

.在每个进程执行过程中,用户可以任意挂

起、结束进程。

查看进程状态

如果打算管理进程,我们需要知道如何查看

进程,只有这样才可以去管理我们的进程。

.什么是父进程?什么是子进程?

.子进程是由父进程执行而得到的一个程序,

当子进程死掉的时候,父进程通常不会受到

影响,但是当父进程死掉的时候,则所有的

子进程将一起结束!

查看进程状态

.ps查看当前进程的状态(process

status)

.常用选项:

a:显示终端上的所有进程,包括其他用户的进程

u:显示执行这个进程的用户

x:显示所有不在当前终端下的进程,即显示所有

其它终端的进程

r:只显示正在运行的进程

查看进程状态

.-e:显示所有进程

.-f:显示完整列表

.-l:长格式显示,包括进程号、父进程号

.-h :不显示标题

查看进程状态

查看进程状态

.输出结果说明:

.USER:进程拥有者

.PID:进程号(1-32768)

.PPID:父进程的进程号

.%CPU:占用的CPU使用率

.%MEM:占用的内存使用率

.VSZ;占用的虚拟内存大小

.RSS:占用的内存大小

.TTY:进程启动的终端

.STAT:该进程当前状态

.START:进程开始时间

.TIME:该程序的运行时间

.COMMAND:进程的命令名

查看进程状态

.STAT:

D:不可中断的休眠状态,即正执行IO操作的进程

R:该进程正在运行

S:休眠状态,即没有执行

Z:死掉的进程(僵尸进程)

W:没有足够的内存页分配

N:低优先级的进程

T:停止状态

查看进程状态

.TTY:

.tty为本地终端

.pts为X或远程终端

.?在后台运行

查看进程状态

.ps应用实例

# ps 查看隶属于自己的进程

# ps -u 查看隶属于自己进程详细信息

# ps aux 查看所有用户执行的进程的详细信息

# ps -aux | grep konsole查看指定进程信息

# ps -u sam查看系统中指定用户执行的进程

后台进程

.后台运行:

.当输入的指令带有&的时候,将把它带入后台中运

行,也就是说执行这个命令之后,在这个终端,仍

可以做其他的工作!而这个指令执行之后,系统

将会在您的终端显示完成的消息!

.语法:

#command&

.如果要让屏幕中的工作在背景中执行,就用&吧!

后台进程

.也可以用ctrl+z来将目前的工作丢到后台

中,也就是将进程挂起。

.语法:

#command &

#ctrl+Z

.注意此时的状态是stop(T)

.那么怎么将他们调回来呢??

后台进程

.jobs 查看后台任务

.语法:

#jobs

.这样我们就知道背景中有几个工作了,注意[ ]

里面的数字就是jobs的代号,后面是进程当

前的状态

后台进程

.fg(调入前台) 与bg(置入后台)

.语法:

.#bg number:恢复后台挂起的进程,就是将后

台中挂起的程序变成后台执行,这个bg是将背景

中的程序由stopped变成running的一个手段

.#fgnumber:恢复后台的进程到前台,是将后

台中的程序移到前台执行

.number:jobs的代号

那你怎么知道你的后台当中有多少的进程在运

行?就是用jobs!然后就可以用fg,bg了!

后台进程

.格式:

.nohup cmd &

.退出终端控制台后,程序仍能在后台继续

运行。

Linux系统的进程和文件系统一样,都是一条树

型的结构,所以可以使用pstree命令,让进程以树型

结构显示出来。这样看起来,子父进程间的关系就更

加明确了。以下是pstree常用的一些选项。

-u在进程名旁显示进程所属的用户名。

-p在进程名旁显示PID。

-a显示进程的详细信息。

查看进程状态

查看进程状态

.top命令和ps命令基本作用相同,显示系统当前的

进程和其他状况;但top是一个动态显示过程,它

提供了实时的对系统处理器、内存、执行时间的

动态监视。(每5秒更新一次)

.格式:#top

.选项:

h帮助

s设置刷新时间,单位为秒

q 退出界面

查看进程状态

.#top 命令会显示下面的输出

查看进程状态

.输出结果说明:

.processes自最近一次刷新以来的运行进程总数,

包括正在运行的、休眠的、停止的。

.CPU status显示用户模式、系统模式、优先级进

程和闲置等各种情况所占用CPU时间百分比。

.Mem内存使用情况统计:可用内存、空闲内存、

已用内存、共享内存和缓存所占内存情况。

.Swap交换空间统计,包括:总的交换空间、可用

交换空间、已用交换空间。

查看进程状态

.PID:每个进程的ID

.USER :每个进程所有者的用户名

.PRI :这个程序可被执行的优先级,越小就越早执行

.NI :该进程的优先级,即nice值

.SIZE :该进程大小,单位KB

.RSS :该进程占用的物理内存的总数量,单位KB

.SHARE :该进程使用共享内存的数量

.STAT :该进程的状态

.%CPU :代表该程序使用多少cpu;

.%MEM :代表该程序使用了多少的内存;

.TIME :进程自从启动以来启用CPU的总时间

.COMMAND :该进程的命令名称

查看进程状态

.快捷键:

.M根据驻留内存大小进行排序

.P根据CPU使用百分比大小进行排序

.T由启动的时间排序

.q退出程序

终止进程

.当需要中断一个前台进程的时候,通常是

使用Ctrl+C组合键;但是对于一个后台进

程恐怕就不是一个组合键所能解决的了,

这时就必须求助于kill命令。该命令可以

终止后台进程。至于终止后台进程的原因

很多,或许是该进程占用的CPU时间过多;

或许是该进程已经挂掉,无法正常退出等

等。总之这种情况是经常发生的。

终止进程

.命令格式:

.kill -9 pid:强制终止进程

.pkill 进程名

.killall 进程名:杀死指定名称的所有进程

示例:killallvim

killall可以不用找出PID,直接加上CMD就

可杀除进程,但是,也有些缺点,它会把

任何同名的程序全部删除。

改变进程的优先级

.nice

�指定程序的运行优先级

�格式:nice �n command

�例如:nice -5 myprogram&

.renice

�改变一个正在运行的进程的优先级

�格式:renice n pid

�例如:renice -5 777

改变进程的优先级

* 优先级取值范围为(-20,19)*

.只有具有root权限的用户可以将程序的nice

值调为负值(当nice为负值时,该程序会提

前执行,即提高了程序处理的优先顺

序),所以,对于nice值有如下约定:

.一般用户可用的nice值为0―19

.root管理员可用的nice值为-20―19

一些查看系统信息的命令

.who & w

.语法:

.#who显示目前登入系统的用户信息

.#w

.w显示信息的含义

�JCPU:以终端代号来区分,该终端所有相关的

进程执行时,所消耗的CPU时间会显示在这里

�PCPU:CPU执行程序耗费的时间

�WHAT:用户正在执行的操作

一些查看系统信息的命令

�FROM:显示用户从何处登录系统,“:0”的显示

代表该用户是从X Window下,打开文本模式窗

口登录的

.查看指定的用户信息:w 用户名

一些查看系统信息的命令

.whoami

显示自身的用户名称,本指令相当于执行

"id-un"指令

.语法:

#whoami

.如果你在su与sudo的时候经常迷失自己,

那好你可以用whoami来查询

一些查看系统信息的命令

.free显示内存状态

.语法:

#free

.参数说明:

-k:以KB来显示RAM使用情况;

-m:以MB来显示RAM使用情况;

一些查看系统信息的命令

.dmesg显示开机信息

.语法:

#dmesg

.说明:

kernel会将开机信息存储在ringbuffer中。

您若是开机时来不及查看信息,可利用

dmesg来查看。开机信息亦保存在/var/log

目录中,名称为dmesg的文件里。

一些查看系统信息的命令

.uptime

.语法:

#uptime

.说明:

想知道你的linux主机开机多久了吗??

一些查看系统信息的命令

.last列出目前与过去登入系统的用户相关信息

.参数说明:

-number :number为数字,如果您的登入信息

太多,可以使用这个选项

.例子:

#last �5

.ftp、telent、ssh都会记录在这个信息中!不过只 有最近一个月的!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值