很多用户在linux下启动EasyNVR视频平台都经历过启动失败,我就总结了一下,发现最常见的原因就是端口被占用了,具体报错就是在启动时,报了In Use错误,程序就停滞了。
使用EasyNVR的用户都知道,这个是由于端口10100被占用导致的系统启动失败,只要将EasyNVR改变端口或者是把10100端口占用的程序杀掉就可以正常的运行启动软件的了。
但是服务器上任何一个程序都有他自身用处,在不了解具体进程用处的时候是不能杀掉进程或者是强制停掉程序的。那么我们如何确定这个10100端口被哪个进程所占用,并且这个进程是否重要呢?
在Linux系统上我们有多种方式可以通过端口查看到是哪个进程占用了该端口。
Linux下losf命令介绍:
lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。
通过截图可以看到,该服务器上,占用该端口的进程是nginx进程,在我们确定了解到这个进程作用,是否可以停止的情况下,我们再进行处理。由于这个是之前EasyNVR启动后残留的进程,我们可以强制杀掉再启动软件。
软件正常启动,网页即可正常访问: