很多人对Linux进程和程序是什么,以及Linux进程管理的作用有哪些并不清楚。实际上,进程是计算机上某个数据集上程序的运行活动。它是系统进行资源分配和调度的基本单元,并且是操作系统结构的基础。它的执行需要系统分配资源以创建实体,然后才能继续进行。
例如:我们编写的程序在运行时也是Linux进程的一个过程。

Linux进程和程序是什么?

进程是正在执行的一个程序或命令,每个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。程序是人使用计算机语言编写的可以实现特定目标或解决特定问题的代码集合。

这么讲很难理解,那我们换一种说法。程序是人使用计算机语言编写的,可以实现一定功能,并且可以执行的代码集合。而进程是正在执行中的程序。当程序被执行时,执行人的权限和属性,以及程序的代码都会被加载入内存,操作系统给这个进程分配一个ID,称为
PID(进程ID)。

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

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

  Linux进程管理的作用有哪些?

在使用Windows系统的过程中,使用任务管理器,很大程度上是为了强制关闭“未反应”的软件,也就是杀死进程。的确,这是很多使用进程管理工具或进程管理命令的人最常见的使用方法。不过,杀死进程只是进程管理工作中最不常用的手段,因为每个进程都有自己正确的结束方法,而杀死进程是在正常方法已经失效的情况下的后备手段。

那么,进程管理到底应该是做什么的呢?我以为,进程管理主要有以下3个作用。

  1.判断服务器的健康状态

运维工程师最主要的工作就是保证服务器安全、稳定地运行。理想的状态是,在服务器出现问题,但是还没有造成服务器宕机或停止服务时,就人为干预解决了问题。

进程管理最主要的工作就是判断服务器当前运行是否健康,是否需要人为干预。如果服务器的CPU占用率、内存占用率过高,就需要人为介入解决问题了。这又出现了一个问题,我们发现服务器的CPU或内存占用率很高,该如何介入呢?是直接终止高负载的进程吗?

当然不是,应该判断这个进程是否是正常进程,如果是正常进程,则说明你的服务器已经不能满足应用需求,你需要更好的硬件或搭建集群了;如果是非法进程占用了系统资源,则更不能直接中止进程,而要判断非法进程的来源、作用和所在位置,从而把它彻底清除。

当然,如果服务器数量很少,我们完全可以人为通过进程管理命令来进行监控与干预,但如果服务器数量较多,那么人为手工监控就变得非常困难了,这时我们就需要相应的监控服务,如cacti或nagios。总之,进程管理工作中最重要的工作就是判断服务器的健康状态,最理想的状态是服务器宕机之前就解决问题,从而避免服务器的宕机。

2.查看系统中所有的进程

我们需要查看看系统中所有正在运行的进程,通过这些进程可以判断系统中运行了哪些服务、是否有非法服务在运行。

  3.杀死进程

这是进程管理中最不常用的手段。当需要停止服务时,会通过正确关闭命令来停止服务。只有在正确终止进程的手段失效的情况下,才会考虑使用kill命令杀死进程。

上述就是关于Linux进程和程序是什么,以及Linux进程管理的作用有哪些的全部内容介绍,想了解更多关于Linux的信息,请继续关注中培教育。