windows进程PID的获取以及杀死

来源:互联网 发布:积分商城java设计 编辑:程序博客网 时间:2024/06/05 15:10


windows进程pid如何获取

1、网络应用的进程的pid的获取

在windows命令行窗口下键入如下命令:
netstat -aon
可以看到最后一列是PID

在Local Address下面可以看到被占用的端口号情况。比如上图中80端口被PID为3096的进程占用了。
假如是希望查找指定的端口号被占用情况,比如查找80端口被占用的情况,可以使用如下命令:
netstat -aon | findstr "80"

知道了占用9000端口号的进程是PID为3096的进程,用下面的命令来查看具体的该进程的名称,使用如下命令:
tasklist | findstr "3096"

用Ctrl+Alt+Delete调出windows任务管理器窗口,可以直接通过名称找到这个占用的进程,然后选择结束进程。也可以通过PID号找到这个进程。点击<查看>-><选择列>,勾选<PID(进程标识符号)>,找到并结束进程。
另外一个方法就是继续使用命令:
C:\>taskkill /f /t /javaw.exe

2、用命令行获取进程,然后杀死进程的方法
tasklist | more
taskkill /F /PID 1758

句柄是针对进程而言,也就是句柄一定所属于某个进程,为某个进程私有的资源。句柄的分配来自于进程私有的句柄表。而进程PID和线程TID和句柄的分配原理是一样的,但是来源就不同了。进程PID来源于系统中一张全局的句柄表PSpcidtable。从级别上来说Pspcidtable和进程对象eprcess中的objecttable是一样的,都是HANDLE_TABLE类型,只是两者指向的句柄表不同。还有一个区别就是进程内的句柄表项中所指的对象是对象头,要找到对象体还需要加偏移,而pspcidtable中的句柄项直接指向对象体。

3、windows中根据进程PID查找进程对象过程深入分析
http://www.cnblogs.com/ck1020/p/5889879.html原文
这里windows和Linxu系列的PID 管理方式有所不同,windows中进程的PID和句柄没有本质区别,根据句柄索引对象和根据PID或者TID查找进程或者线程的步骤也是一样的。

4、任务管理器查看方式

在Win7旗舰版系统下,进行一些操作的时候需要知道进程的标识符,大家都知道进程可以在win7系统中的任务管理器中查看,不过我们看不到有PID 标识符,下面小编就介绍下查看进程PID的方法,有需要的朋友可以看一下。

  1、右键点击任务栏,打开任管管理器;

  2、我们点击“进程”标签切换到进程选项卡下;

  3、点击任务管理器菜单上的“查看按钮”,并选点击“选择列”;

      4、在选择进程页列中,我们勾选“PID(进程标识符)”选项,并点击确定即可;

      5、这时候我们看到PID已经显示在进程页列表里了。



5、找到如下的一个方法cmd方法显示所有进程信息,还没有研究到怎么出pid

cmd

1、显示所有进程信息

C:\Documents and Settings\Administrator>wmic

wmic:root\cli>process

2、只查看指定程序路径及PID


C:\Documents  and Settings\Administrator>wmic process where caption="alg.exe" get  ExecutablePath^,HandleExecutablePath                HandleC:\WINDOWS\System32\alg.exe  1892


6这个方式就解决上面存在的疑问

有没有遇到过这样的情景,通过window的任务管理器,查看到好多相同的进程名。比方说 一台机器上运行几个tomcat进程,
在任务管理器上 只能显示 java进程名 ,这是pid不同。这时如果想知道到底是启动的那个tomcat占用的资源最多,就要看一下
进程的执行路径确定一下。
方法其实也挺简单的 在命令提示符下输入一下命令就可以了
wmic process  list 查看所有的进程的
wmic process get name,executablepath,processid
查看进程名,路径,pid 再配合使用find或findstr就可以查到pid对应的路径了
wmic process get name,executablepath,processid|findstr pid
这样就ok了

0 0
原创粉丝点击