最近在看服务器的性能指标,用了top命令之后发现第一行就是PID,之前也知道PID表示的进程号,但是也仅限于此。

今天认真的想了一下啥是PID,这就涉及到什么是进程了。

一、进程的概念

    进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态概念,是一个活动实体。它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示。进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位

:)看完我也不懂,唯一想清楚的是在运行项目的时候会调相应的资源,先把项目(或者程序)从磁盘通过I/O读写到内存里面,然后CPU开始取址执行,我姑且认为cpu从内存中开始取址执行的过程就是进程(虽然不知道对不对)。

在看其他blog中我发现了一个比较好理解的说法:

1)程序和进程的关系: 程序是静态的,就是磁盘中的一个文件。而进程是一个动态的程序执行后运行的状态(程序是被操作系统加载到内存中)就是一个进程。

2)PID(Process ID): PID是程序被操作系统加载到内存成为进程后动态分配的资源,每次程序执行时,操作系统都会重新加载,PID在每次加载的时候都是不同的。

3)PID是唯一的,一个PID只标识一个进程。

备注:

1、在Linux系统中执行的第一个进程是init,它是所有进程的祖先最终都会落到进程号为1的init进程身上。

2、init进程是linux内核启动后第一个执行的进程,引导系统,启动守护进程并且运行必要的程序。

摘自: Linux中的程序和进程,PID和PPID - 鱼香肉肉 - 博客园首先说下程序和进程: 程序是一个静态的,就是磁盘中的一个文件。而进程是一个动态的程序执行后运行的状态(程序是被操作系统加载到内存中)就是一个进程。 1.PID(process ID): PID是程序被https://www.cnblogs.com/mishdong123rousi/p/9441534.html

二、查看程序(项目)对应的PID

    一般是通过端口号来查看对应项目的pid

pid=`netstat -anp|grep 7711|awk '{printf $7}'|cut -d '/' -f 1`

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐