由于端口8081 sunproxyadmin,无法打包可以原生反应

时间:2015-10-07 22:15:34

标签: macos react-native

当我在终端运行时:

lsof -n -i4TCP:8081

我明白了

node      10901 me   28u  IPv6 0xbcad49      0t0  TCP *:sunproxyadmin (LISTEN)
foo 11957 me   15u  IPv4 0xbcad49      0t0  TCP 127.0.0.1:61127->127.0.0.1:sunproxyadmin (CLOSE_WAIT)

这个sunproxyadmin是什么?

4 个答案:

答案 0 :(得分:12)

Per http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?search=8081,TCP端口8081是sunproxyadmin的众所周知的端口,80就是众所周知的http端口。在这种情况下,您有一个正在侦听端口8081的节点进程,但是lsof正在尝试提供帮助并为此显示众所周知的端口。在linux下,这是在/ etc / services中定义的;我希望OS X类似。

修改1:请注意,按Apple Man Pages传递-P

  

禁止将端口号转换为网络文件的端口名称   抑制转换可能会使lsof运行得更快一些。它   在端口名称查找不正常时也很有用。

这会导致lsof无法打印出令人困惑的sunproxyadmin,因为它恰好使用了Sun注册的端口。

编辑2:您的回复中的第二列(例如,第一行中的10901,您想要的那个,以及第二行中的11957)应该是进程ID。如果您执行ps aux | grep 10901(或ps elf | grep [pid],因为我记不起哪个适用于OSX并且没有方便),您应该得到类似的内容:

  

apache 19783 0.0 0.2 251888 8580? S Oct07 0:00   / usr / sbin / httpd -DFOREGROUND

(或提出一些建议:

  

nodeuser 10901 0.0 0.2 251888 8580? S Oct07 0:00节点index.js

您可以使用kill -9 10901(或任何PID)将其终止,但如果它作为服务或什么运行,它可能会发现它会回来。

这足以添加到您的bash配置文件中:

function findbyport()
{
  sudo lsof -P -iTCP:$1 -sTCP:LISTEN
}

答案 1 :(得分:4)

杀死它,在您的终端中执行

sudo lsof -i :8081

从那里得到PID号,然后运行

kill -9 <PID NUMBER>

您可以查看FB documentation以获取更多信息

答案 2 :(得分:0)

如果您不想杀死sunproxyadmin进程,请尝试使用以下命令在不同的端口启动React native: react-native start --port your_port

然后打开Dev settings(请参阅how to open dev menu),然后修改调试服务器主机&amp;设备端口your_local_ip:your_port

答案 3 :(得分:-1)

我的 Mac 上运行着这个 MACAFEE 杀毒软件。 我可以杀死它(虽然我不应该杀死它,但我尝试了它,看起来它永远不会死!毕竟Sudo没有力量!)。所以经过大量研究我试过这个。

第 1 步:获取进程的 PID 须藤 lsof -n -i4TCP:8081 第 2 步:找到启动的端点 sudo launchctl 列表 |格雷普 第 3 步:删除 mcafee sudo launchctl 删除 com.mcafee.agent.macmn

如果这个对你有用,请感谢我和https://fantashit.com/unable-to-perform-react-native-start/