cygwin的一些认识
cygwin提供了windows系统上linux软件的运行环境,并不是一个虚拟机,它不具备网卡等一个计算机的必备组件,可以这么理解,cygwin是Windows系统上linux软件的的兼容层。如果非要说它是一个虚拟机的话,它更像一个类似于jvm的虚拟机,它充当了linux中的二进制文件和windows上二进制文件解释器。
在cygwin上运行一个程序,程序的端口还是由windows系统提供与管理,并不是由cygwin提供,比如再cygwin中使用了80端口,那么再windows上就不能再使用了。
同时他还使用了其他端口用以cygwin和windows信息交互,比如启动或者关闭cygwin中的程序。在cygwin上运行netstat命令可以看到cygwin使用了一些端口(数字都比较大)与windwos系统建立了许多连接
这里建立的连接所使用的端口也是由windows系统提供,在windows下同样使用netstat命令可以证明
所以在cygwin上运行一个软件的linux版本,和直接在windows上运行相同软件的window版本是没有差别的。比如在cygwin上运行redis,在cygwin上使用redis-cli是连接不上的,在windwos上使用就可以连接,好像redis服务端就是安装在windwos上一样。
cygwin主要是用来运行那些在windwos上没有的linux软件,其作用和linux上的wine一样,想当作一个linux系统来使用还是不行的。
转载于:https://my.oschina.net/zhzx/blog/1621554