迷茫2017-04-17 14:55:58
如果能換埠,找到你專案中config.js 看到那個port了嗎?改後面的值就行。
如果不能換埠的話。 。
圖是在windows下的,那就按windows的方法了:
netstat –ano|findstr "8080"
找出對應進程的PID,然後:
taskkill -PID <进程号> -F
或進任務管理器,找到對應PID的進程,結束之。
阿神2017-04-17 14:55:58
https://segmentfault.com/a/11...
為了解決 ssr 工具 起多個服務的時候連接埠被佔用的情況。分享研究的程式碼片段。
// 检测port是否被占用
function probe(port, callback) {
var server = net.createServer().listen(port)
var calledOnce = false
var timeoutRef = setTimeout(function () {
calledOnce = true
callback(false,port)
}, 2000)
timeoutRef.unref()
var connected = false
server.on('listening', function() {
clearTimeout(timeoutRef)
if (server)
server.close()
if (!calledOnce) {
calledOnce = true
callback(true,port)
}
})
server.on('error', function(err) {
clearTimeout(timeoutRef)
var result = true
if (err.code === 'EADDRINUSE')
result = false
if (!calledOnce) {
calledOnce = true
callback(result,port)
}
})
}
使用範例:
function server(_port){
var pt = _port || __port;
probe(pt,function(bl,_pt){
// 端口被占用 bl 返回false
// _pt:传入的端口号
if(bl === true){
// ssr(_pt)
server = http.createServer(connListener);
server = server.listen(parseInt(_pt, 10));
console.log("\n Static file server running at" + "\n\n=> http://localhost:" + _pt + '\n');
}else{
server(_pt+1)
}
})
}
PHP中文网2017-04-17 14:55:58
第一步:運行lsof -i:端口号
。透過這個指令你可以看到佔用埠號碼的進程ID。
第二步:kill 进程ID
即可。
X,你是windows啊。 。 。當我沒說。