linux进程删除后又启动,Linux系统管理之进程管理

在正式的工作环境中,作为Linux系统管理员,监视系统进程的运行情况应该是日常的工作之一。那么,到底什么是进程呢?

什么是进程

进程是正在执行的一个程序或命令,每个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源,它由程序指令,和从文件、其它程序中读取的数据或系统用户的输入组成。操作系统会给进程分配一个 ID,称为 PID(进程 ID)。

进程的类型前台进程: 这些进程由终端会话初始化和控制。换句话说,需要有一个连接到系统中的用户来启动这样的进程;它们不是作为系统功能/服务的一部分自动启动

后台进程: 这些进程没有连接到终端;它们不需要任何用户输入

守护进程:这是后台进程的特殊类型,它们在系统启动时启动,并作为服务一直运行

在操作系统中,所有可以执行的程序与命令都会产生进程。只是有些程序和命令非常简单,如 ls 命令等,它们在执行完后就会结束,相应的进程也就会终结,所以我们很难捕捉到这些进程。但是还有一些程和命令,比如 httpd 进程,启动之后就会一直驻留在系统当中,我们把这样的进程称作常驻内存进程。

某些进程会产生一些新的进程,我们把这些进程称作子进程,而把这个进程本身称作父进程。比如,我们必须正常登录到 Shell 环境中才能执行系统命令,而 Linux 的标准 Shell 是 bash。我们在 bash 当中执行了 ls 命令,那么 bash 就是父进程,而 ls 命令是在 bash 进程中产生的进程,所以 ls 进程是 bash 进程的子进程。也就是说,子进程是依赖父进程而产生的,如果父进程不存在,那么子进程也不存在了。

查看系统中所有的进程: ps aux

ps命令用于查看系统中的进程状态,格式为“ps [参数]”。查看系统中所有的进程$ ps aux参数作用-a显示所有进程(包括其他用户的进程)

-u用户以及其他详细信息

-x显示没有控制终端的进程

1460000023828704

如上图,我们来看看以上输出信息中各列的具体含义:列名含义USER该进程是由哪个用户产生的

PID进程的 ID

%CPU该进程占用 CPU 资源的百分比,占用的百分比越高,进程越耗费资源

%MEM该进程占用物理内存的百分比,占用的百分比越高,进程越耗费资源

VSZ该进程占用虚拟内存的大小,单位为 KB

RSS该进程占用实际物理内存的大小,单位为 KB

TTY该进程是在哪个终端运行的。

STAT进程状态。

START该进程的启动时间。

TIME该进程占用 CPU 的运算时间,注意不是系统时间。

COMMAND产生此进程的命令名。

常见的STAT进程状态有以下几种:D:不可被唤醒的睡眠状态,通常用于 I/O 情况

R:该进程正在运行

S:该进程处于睡眠状态,可被唤醒

T:停止状态,可能是在后台暂停或进程处于除错状态

W:内存交互状态(从 2.6 内核开始无效)

X:死掉的进程(应该不会出现)

Z:僵尸进程。进程已经中止,但是部分程序还在内存当中

N:低优先级

L:被锁入内存

s:包含子进程

l:多线程(小写 L)

+:位于后台

查看系统中所有的进程 ps -le

ps -le 可以查看系统中所有的进程,而且还能看到进程的父进程的 PID 和进程优先级。参数作用-l长格式显示更加详细的信息;

-e显示所有进程;

1460000023828705

如上图,我们来看看以上输出信息中各列的具体含义:列名含义F进程标志,说明进程的权限,常见的标志有两个:1 进程可以被复制,但是不能被执行;4:进程使用超级用户权限;

S进程状态。具体的状态和ps aux命令中的 STAT 状态一致;

UID运行此进程的用户的 ID;

PID进程的 ID;

PPID父进程的 ID;

C该进程的 CPU 使用率,单位是百分比;

PRI进程的优先级,数值越小,该进程的优先级越高,越早被 CPU 执行;

NI进程的优先级,数值越小,该进程越早被执行;

ADDR该进程在内存的哪个位置;

SZ该进程占用多大内存;

WCHAN该进程是否运行。"-"代表正在运行;

TTY该进程由哪个终端产生;

TIME该进程占用 CPU 的运算时间,注意不是系统时间;

CMD产生此进程的命令名;

删除进程 kill

kill可将指定的信息送至程序,默认的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。kill命令格式如下:$ kill [信号] PID信号编号信号名含义0EXIT程序退出时收到该信息。

1HUP挂掉电话线或终端连接的挂起信号,这个信号也会造成某些进程在没有终止的情况下重新初始化。

2INT表示结束进程,但并不是强制性的,相当于用键盘输入 [ctrl]-c 来中断一个程序的进行

3QUIT退出

9KILL杀死进程,即强制结束进程

15TERM正常结束进程,命令的默认信号

19SIGSTOP相当于用键盘输入 [ctrl]-z 来暂停一个程序的进行

我们用的最多的信号编号是1,9,15。

最后我们来看看所谓的“僵尸进程”,僵尸进程是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程。僵尸进程会对主机的稳定性产生影响,所以,在产生僵尸进程后,一定要对产生僵尸进程的软件进行优化,避免一直产生僵尸进程;对于已经产生的僵尸进程,可以在查找出来之后强制中止。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值