2024-04-26 10:15:31 发布
网友
要在命令行中查找特定进程,请使用下面的命令8080是进程使用的端口
netstat -ano | findstr 8080
要终止进程,在这里使用下面的命令21424是进程id
taskkill /pid 21424 /F
这里有一个命令让您开始:
FOR /F "tokens=4 delims= " %%P IN ('netstat -a -n -o ^| findstr :8080') DO @ECHO TaskKill.exe /PID %%P
当您对批处理文件有信心时,请删除@ECHO。
@ECHO
FOR /F "tokens=4 delims= " %%P IN ('netstat -a -n -o ^| findstr :8080') DO TaskKill.exe /PID %%P
请注意,您可能需要针对不同的操作系统稍微更改此设置。例如,在Windows 7上,您可能需要tokens=5,而不是tokens=4。
tokens=5
tokens=4
这是如何工作的
FOR /F ... %variable IN ('command') DO otherCommand %variable...
这允许您执行command,并循环其输出。每一行将被填充到%variable,并可以在otherCommand中扩展到您喜欢的任何位置。^实际使用中的{}只能有一个字母名,例如%V。
command
%variable
otherCommand
%V
"tokens=4 delims= "
这使您可以用空白分隔每一行,并将该行中的第4个块填充到%variable(在我们的例子中是%%P)。delims看起来是空的,但是额外的空间实际上是重要的。
%%P
delims
netstat -a -n -o
快去查一查。根据命令行帮助,它“显示所有连接和侦听端口。”,“以数字形式显示地址和端口号。”,以及“显示与每个连接关联的所属进程ID。”。我只是使用了这些选项,因为有人建议了它,而且它碰巧起了作用:)
^|
这接受第一个命令或程序(netstat)的输出,并将其传递到第二个命令程序(findstr)。如果您直接在命令行上使用它,而不是在命令字符串中使用它,那么您将使用|而不是^|。
netstat
findstr
|
findstr :8080
这将过滤传递给它的任何输出,只返回包含:8080的行。
:8080
TaskKill.exe /PID <value>
这将使用进程ID终止正在运行的任务
%%P instead of %P
批处理文件中需要这样做。如果在命令提示符下执行此操作,则将使用%P。
%P
打开命令提示符并运行以下命令
C:\Users\username>netstat -o -n -a | findstr 0.0:3000 TCP 0.0.0.0:3000 0.0.0.0:0 LISTENING 3116 C:\Users\username>taskkill /F /PID 3116
,这里3116是进程ID
要在命令行中查找特定进程,请使用下面的命令8080是进程使用的端口
要终止进程,在这里使用下面的命令21424是进程id
这里有一个命令让您开始:
当您对批处理文件有信心时,请删除
@ECHO
。请注意,您可能需要针对不同的操作系统稍微更改此设置。例如,在Windows 7上,您可能需要
tokens=5
,而不是tokens=4
。这是如何工作的
这允许您执行}只能有一个字母名,例如
command
,并循环其输出。每一行将被填充到%variable
,并可以在otherCommand
中扩展到您喜欢的任何位置。^实际使用中的{%V
。这使您可以用空白分隔每一行,并将该行中的第4个块填充到
%variable
(在我们的例子中是%%P
)。delims
看起来是空的,但是额外的空间实际上是重要的。快去查一查。根据命令行帮助,它“显示所有连接和侦听端口。”,“以数字形式显示地址和端口号。”,以及“显示与每个连接关联的所属进程ID。”。我只是使用了这些选项,因为有人建议了它,而且它碰巧起了作用:)
这接受第一个命令或程序(
netstat
)的输出,并将其传递到第二个命令程序(findstr
)。如果您直接在命令行上使用它,而不是在命令字符串中使用它,那么您将使用|
而不是^|
。这将过滤传递给它的任何输出,只返回包含
:8080
的行。这将使用进程ID终止正在运行的任务
批处理文件中需要这样做。如果在命令提示符下执行此操作,则将使用
%P
。打开命令提示符并运行以下命令
,这里3116是进程ID
相关问题 更多 >
编程相关推荐