【问题描述】
在使用畅捷通T+软件过程中,由于软件可以直接升级,
即:原软件是T+16.0版本,可以直接运行T+18.0的程序进行软件、数据升级。无需将16.0进行卸载,再安装18.0进行数据升级。
但这样直接升级后,原来的软件的端口无法使用,需要修改新的端口。
例如:T+16.0的环境下端口配置8088;升级后8088无法使用,
在T+服务管理器–网站端口配置中,进行端口修改为8089后,软件可以正常使用。
但是将端口修改为8088,软件则提示端口已被占用,请录入其他端口。
但由于某些情况需要使用原端口8088。
【排查思路】
【检查端口被占用过程】
首先,打开cmd窗口,输入以下命令查看指定端口占用情况(以下以8088端口为例)
输入命令:netstat -aon|findstr"8088"
可以看到,端口被PID=4的进程占用了,接下来查看该PID的进程
然后,输入命令:tasklist|findstr “4”
可以看到,PID为4对应为System进程,无法被终止。
再次,输入命令:netsh http show servicestate
可以看到,http服务器状态快照,找到已注册的URL数目中占用8088端口的请求队列名称,
本例中占用8088端口的请求队列名称为tplus。
再根据请求队列名称找到其对应的控制器进程ID,
本例中tplus请求队列对应的PID号是4088。
最后,进入任务管理器,找到PID对应的进程,终止任务即可。
【解决方法】
根据上述方法进行排查后,端口8088依然是T+软件占用。
所以上述重点是排查端口占用的程序是什么。
进而根据最开始的问题分析,如果继续保持使用原端口,
建议:将软件原软件卸载,然后安装新版本软件,还原账套进行升级。不要直接进行程序的安装升级。
其他人也提示重启iis的方法,即重启iis命令:iisreset /restart。(但本人使用该方法,未生效。)