很多时候运行QEMU我们会加入-s选项,在某些情况下没有正常关闭QEMU会使得端口未被释放,这时就会出现Failed to find an available port: Address already in use错误。这个问题我经常会遇到,但每次都要查阅相关资料,这里记录一下。不多BB,解决方法如下:
利用sudo lsof -i tcp:端口号
查找相关进程,这里QEMU的-s
选项默认GDB端口号是1234,所以我们输入下述命令
[deadpool@localhost linux-nova]$ sudo lsof -i tcp:1234
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
qemu-syst 1008828 root 9u IPv4 1702471 0t0 TCP *:search-agent (LISTEN)
qemu-syst 1008828 root 10u IPv6 1702472 0t0 TCP *:search-agent (LISTEN)
接下来,杀死相关进程即可:
[deadpool@localhost linux-nova]$ sudo kill 1008828
OK,现在就可以起飞了