V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
chenqh
V2EX  ›  Linux

关于 lsof -i 的问题

  •  
  •   chenqh · 2017-10-21 01:55:38 +08:00 · 2729 次点击
    这是一个创建于 2625 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我有一个进程要使用 9877 端口,
    在关闭进程再启动进程的时候,我经常会遇到这种情况
    bind error: address already in use
    但是使用 lsof -i :9877,却没有找到对应的进程
    要等一分钟到两分钟左右 ,才可以重新启动进程,
    就好像有延时一样
    这是什么问题?有什么办法能够解决这种 bind error: address alreay in use,而不是只能靠等吗?

    5 条回复    2017-10-21 12:48:09 +08:00
    vcfvct
        1
    vcfvct  
       2017-10-21 02:17:38 +08:00 via Android   ❤️ 1
    加 sudo 试试,我机器上的 McAfee 的 8081port 就是需要 sudo lsof 才能出来!
    chenqh
        2
    chenqh  
    OP
       2017-10-21 02:20:59 +08:00
    @vcfvct 我等下试下
    chenqh
        3
    chenqh  
    OP
       2017-10-21 02:28:32 +08:00
    @vcfvct 我这边要使用 "netstat -anp | grep 9877"才出来,可能是因为处于 TIME_WAIT 状态的原因
    iwtbauh
        4
    iwtbauh  
       2017-10-21 10:49:23 +08:00 via Android   ❤️ 1
    @chenqh 恩,我记得是让服务器程序使用 setsockopt(2) 系统调用开启 SO_REUSEADDR 选项即可解决
    如果程序没有相应开关必须修改源代码重新编译
    mogging
        5
    mogging  
       2017-10-21 12:48:09 +08:00 via iPhone
    @chenqh 涨姿势
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1072 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:09 · PVG 03:09 · LAX 11:09 · JFK 14:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.