由于端口 8081 sunproxyadmin,无法打包 react native
Can't package react native because of port 8081 sunproxyadmin
当我在终端中 运行 时:
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 是什么?
根据 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
inhibits the conversion of port numbers to port names for network files.
Inhibiting the conversion may make lsof run a little faster. It
is also useful when port name lookup is not working properly.
这应该会导致 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 node index.js
)
您可以使用 kill -9 10901
(或任何 PID)终止它,但如果它是 运行 作为服务或其他什么,您可能会发现它会回来。
这足以添加到您的 bash 个人资料中:
function findbyport()
{
sudo lsof -P -iTCP: -sTCP:LISTEN
}
如果你不想杀死 sunproxyadmin
进程,让我们尝试使用命令在不同的端口启动 React native:
react-native start --port your_port
然后打开Dev settings
(见how to open dev menu),修改Debug server host & port for device为:your_local_ip:your_port
杀掉它,在你的终端中执行
sudo lsof -i :8081
从那里获取 PID 编号,然后 运行
kill -9 <PID NUMBER>
您可以查看 FB documentation 了解更多信息
我的 Mac 上有这个 MACAFEE 杀毒软件 运行。 我能杀了它(虽然我不应该杀它,但我试过了,看起来它永远不会死!Sudo毕竟没有力量!)。所以经过很多的研究我试过这个。
步骤 1: 获取进程的 PID
须藤 lsof -n -i4TCP:8081
第 2 步:找到 launchd 端点
sudo launchctl 列表 | grep
第 3 步:删除 mcafee
sudo launchctl remove com.mcafee.agent.macmn
如果这个对你有用,请对我说谢谢,还有https://fantashit.com/unable-to-perform-react-native-start/
当我在终端中 运行 时:
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 是什么?
根据 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
inhibits the conversion of port numbers to port names for network files.
Inhibiting the conversion may make lsof run a little faster. It is also useful when port name lookup is not working properly.
这应该会导致 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 node index.js
)
您可以使用 kill -9 10901
(或任何 PID)终止它,但如果它是 运行 作为服务或其他什么,您可能会发现它会回来。
这足以添加到您的 bash 个人资料中:
function findbyport()
{
sudo lsof -P -iTCP: -sTCP:LISTEN
}
如果你不想杀死 sunproxyadmin
进程,让我们尝试使用命令在不同的端口启动 React native:
react-native start --port your_port
然后打开Dev settings
(见how to open dev menu),修改Debug server host & port for device为:your_local_ip:your_port
杀掉它,在你的终端中执行
sudo lsof -i :8081
从那里获取 PID 编号,然后 运行
kill -9 <PID NUMBER>
您可以查看 FB documentation 了解更多信息
我的 Mac 上有这个 MACAFEE 杀毒软件 运行。 我能杀了它(虽然我不应该杀它,但我试过了,看起来它永远不会死!Sudo毕竟没有力量!)。所以经过很多的研究我试过这个。
步骤 1: 获取进程的 PID 须藤 lsof -n -i4TCP:8081 第 2 步:找到 launchd 端点 sudo launchctl 列表 | grep 第 3 步:删除 mcafee sudo launchctl remove com.mcafee.agent.macmn
如果这个对你有用,请对我说谢谢,还有https://fantashit.com/unable-to-perform-react-native-start/