Windows任务管理器有一列标记为“ 命令行”的列,其中显示了启动给定任务的命令以及所有开关和参数,例如:
test.exe -V -A 127.0.0.1 -P 6062
现在,我必须确定正在侦听某个端口和/或被某个交换机组合调用的某个任务。我的目标是关闭选定的任务,而不是其他任务,因此,如果有多个test.exe
正在运行的任务,我不能简单地关闭由以下命令返回的所有任务:
tasklist /fo csv /nh /fi "imagename eq test.exe"
不幸的是,似乎tasklist
和pslist
(此处)都无法返回“ 命令行”字段。我该如何克服这个问题?
@Rik遗憾的是,这还不够,因为端口本身不足以标识正确的任务,因此也必须查看命令行参数。
—
的IstvánZachar
无法想象多个程序在同一端口上侦听... :)但是必须有可能
—
瑞克(Rik)2013年
process explorer
从Sysinternals 获取参数... 可以在gui中显示这些参数。因此,信息必须在某处。
@Rik,端口当然不同,但是我还必须提取命令行参数,以检查任务是否是我需要杀死的任务。
—
的IstvánZachar
netstat -aon | grep \.0:6062
对端口6062 进行某些操作,最后一列将是程序的PID。不确定是否足够您使用。tasklist /FI "PID eq <PID>"
会再次给您可执行文件。