运维开发网

centos进程管理 详解

运维开发网 https://www.qedev.com 2021-01-24 12:29 出处:51CTO 作者:基层通信兵
centos7进程管理 详解

Linux进程管理与监控

1.进程的概念与分类

进程的基本定义: 在自身的虚拟地址空间运行的一个独立的程序,从操作系统的角度看,所有在系统上运行的东西,都可以称为一个进程。

进程的分类:

系统进程 : 可以执行内存资源分配和进程切换管理工作;而且,该进程的运行不受用户的干预,

即使是root用户也不能干预系统进程的运行。

用户进程 :通过执行用户程序、应用程序或内核之外的系统程序而产生的进程,此类进程可以在用户的控制下运行或关闭。

a.交互进程:由一个shell终端启动的进程,在执行过程中,需要与用户进行交互操作,可以运行于前台,也可以运行在后台。

b.批处理进程:该进程是一个进程集合,负责按顺序启动其它的进程。

c.守护进程: 守护进程是一直运行的进程,经常在linux系统启动时启动,在系统关闭时关闭。如crond进程。

2、进程的监控与管理

linux系统中,进程ID用PID表示,是区分不同进程的唯一标识,它们的大小是有限制的,最大ID32768,

用UID和GID分别标识启动这个进程的用户和用户组。所有的进程都是PID为1的init进程(centos7.x版本后是systemed进程)的后代。

内核是系统启动的最后阶段启动init进程,因而,这个进程是Linux下所有进程的父进程。

常用的进程管理命令有:

ps、top、lost、pgrep、kill、killall

lsof -p PID: PID是进程号,通过进程号显示程序打开的所有文件及相关进程。

lsof -i :通过监听指定的协议、端口、主机等信息,显示符合条件的进程信息。

lsof常用组合:

lsof -c sshd

lsof -g 4918

#lsof -p pid (查看该pid进程的详细信息)

#lsof -c sshd (通过进程名,显示进程的详细信息)

#lsof -i :21 (查看21端口打开的进程信息)

2、进程的监控与管理

利用pgrep查询进程ID

pgrep是通过程序的名字来查询进程pid的工具,它通过检查程序在系统中活动的进程,输出进程属性匹配命令行上指定条件的进程ID。

查看sshd进程对应的所有ID,可执行如下命令:

pgrep命令:也是查看进程pid信息; #pgrep -f ssh(查看ssh进程的pid信息)

用kill终止一个进程:

kill命令的使用语法为: kill [信号类型] 进程ID

信号类型有很多种,可以通过kill -l 查看所有信号类型。常用的信号类型有SIGKILL,对应的数字为9,

还有SIGTERM和SIGINT,对应的数字分别为15和2.

kill -9 进程PID : 表示强制结束进程。

kill -2 进程PID : 表示结束进程,但并不是强制性的,常用的Ctrl+C组合键发出的就是一个kill -2的信号。

kill -15 进程PID :表示正常结束进程,是kill的缺省选项,也就是kill不加任何信号类型时,默认类型就是15.

用killall终止一个进程:

killall也是关闭进程的一个命令,与kill不同的是,killall后面跟的是进程的名字,而不是进程的PID,因而,killall可以终止一组进程。

kill的使用语法为:

killall [信号类型] 进程名称

killall -9 进程名称 : 表示强制结束进程。

kill -2 进程名称 : 表示结束进程,但并不是强制性的,常用的Ctrl+C组合键发出的就是一个kill -2的信号。

killall -15 进程名称 :表示正常结束进程,是kill的缺省选项,也就是kill不加任何信号类型时,默认类型就是15.

kill -0: 是对服务的一种试探, # kill -0 5599()

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号