windows下通过PID杀死进程
Posted 无聊大侠hello world
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows下通过PID杀死进程相关的知识,希望对你有一定的参考价值。
文章目录
前言
📋前言📋
💝博客:【无聊大侠hello word】💝
✍有一点思考,有一点想法,有一点理性!✍
✍本文由在下【无聊大侠hello word】原创,首发于CSDN✍
通过pid查看是什么进程
tasklist | findstr pid
查找所有运行的端口号
netstat -ano
查看被占用端口号的pid
netstat -aon |findstr “8080”
杀死指定pid进程
taskkill -t -f /pid pid号
启动项目时报如下错误
解决方案
本错误发生了端口抢占 重点是在 任务资源管理器 里面找不到时的解决方案
第一步
1.用cmd
打开本地的在windows命令行窗口:
2.在windows
命令行窗口下键入如下命令:
第二步
在第二步有可能发生如下:
解决办法:
- 控制面板 ===》高级系统设置 ===》环境变量 ===》系统变量 ===》Path中追加;%SystemRoot%\\system32
- 重新打开DOS再次运行netstat -an命令
第三步
在本地地址
下面可以看到被占用的端口号情况
比如上图中9001
端口被PID
为19076
的进程占用了。
1 .假如是希望查找指定的端口号被占用情况,比如查找80端口被占用的情况
可以使用如下命令:
netstat -aon | findstr "9001"
2 . 上面的命令就会查找到端口号中包含"9001"的端口占用情况,如下图
3 .知道了占用9001
端口号的进程是PID为19076
的进程,用下面的命令来查看具体的该进程的名称,使用如下命令:
tasklist | findstr "19076"
4 .假如这个进程占用了你的端口号,那么用这个方法干掉它。
第一种方法:
用Ctrl+Alt+Delete
调出windows任务管理器窗口
,可以直接通过名称找到这个占用的进程,然后选择结束进程。也可以通过PID号找到这个进程。点击<查看>-><选择列>,勾选<PID(进程标识符号)>,找到并结束进程。
第二种方法:
就是继续使用命令:
taskkill是Windows命令行里终止指定程序“进程”的命令。
/f 表示强制终止
/im 表示指定的进程名称,例如“explor.exe"
/pid 表示指定的进程ID进程号
taskkill /f /im javaw.exe
taskkill /f /pid 19076
第一种:taskkill /im java.exe /f
第二种:taskkill /f /t /javaw.exe
然后就可以运行项目
先赞后看,养成习惯!!!^ _ ^ ❤️ ❤️ ❤️
码字不易,大家的支持就是我的坚持下去的动力。点赞后不要忘了关注我哦!
AIX - 如何使用进程名称而不是 PID 杀死
【中文标题】AIX - 如何使用进程名称而不是 PID 杀死【英文标题】:AIX - How to kill using process name instead of PID 【发布时间】:2021-08-09 16:04:11 【问题描述】:有没有办法通过指定进程名称而不是 AIX 的 PID 来终止进程?
例如。对于下面的过程,我想通过指定 sapstartsrv
而不是 10682424
来杀死它
hmsadm 10682424 1 0 Apr 30 - 0:54 /usr/sap/HMS/ASCS01/exe/sapstartsrv pf=/usr/sap/HMS/SYS/profile/START_ASCS01_H\
谢谢。
【问题讨论】:
你如何确定要杀死哪个sapstartsrv
?
我只需要杀死所有剩余的 sapstartsrv 进程。我想使用进程名杀死的原因是我想自动化进程,就好像用 PID 杀死一样,我首先需要确定 PID,然后作为第二步运行 kill。是否有可以自动执行此操作的脚本 - 首先 grep PID 然后杀死相关的 PID?
【参考方案1】:
试试这个。您试图杀死的进程的第一个字母周围的括号会有所帮助。显然将其更改为有效的服务器。
while true; do date; ping -c4 server; sleep 500; done &
ps -aef | grep -i [p]ing | awk 'print $2' | xargs kill -9
如果这不起作用,有时您必须终止父进程。
ps -aef | grep -i [p]ing | awk 'print $2 " " $3' | xargs kill -9
【讨论】:
【参考方案2】:@Romeo 感谢您迄今为止的帮助。
不幸的是,仍然出现变量语法错误。很确定语法是正确的,并且根据您的建议。尝试了另一个如下。有什么想法吗?
ps -ef|grep sapstartsrv
sapadm 16646280 1 0 Apr 20 - 2:55 /usr/sap/hostctrl/exe/sapstartsrv pf=/usr/sap/hostctrl/exe/host_profile -D
hmzadm 18743480 1 0 Apr 20 - 3:33 /usr/sap/HMZ/ASCS03/exe/sapstartsrv pf=/usr/sap/HMZ/SYS/profile/START_ASCS03_HRSTS -D
ps -ef|grep sapstartsrv|awk 'print $2'
16646280
18743480
kill $(ps -ef|grep sapstartsrv|awk 'print $2')
Variable syntax.
kill -9 $(ps -ef|grep sapstartsrv|awk 'print $2')
Variable syntax.
【讨论】:
在尝试此之前,请使用命令set -xv
启用调试。【参考方案3】:
我正在使用 ping 命令对其进行测试,但遇到了变量语法错误。请指教。
ps -ef|grep ping
wdd500 58786076 50463096 0 14:43:39 pts/0 0:00 ping HRB1000
ps -ef|grep ping|awk 'print $2'
58786076
kill $(ps -ef|grep ping|awk 'print $2')
Variable syntax.
【讨论】:
这对我来说很好。检查您是否正确复制了引号【参考方案4】:你可以这样使用命令:
kill -9 $(ps -ef|grep sapstartsrv|awk 'print $2')
当然首先检查命令ps -ef|grep sapstartsrv|awk 'print $2'
是否只返回你想杀死的进程
【讨论】:
我尝试使用 sapstartsrv 但仍然收到 kill 命令的变量语法错误。有什么想法吗? @userguy,请编辑您的问题并在此处添加您执行的内容和遇到的错误以上是关于windows下通过PID杀死进程的主要内容,如果未能解决你的问题,请参考以下文章