https://blog.csdn.net/xwawa2012/article/details/37922971
最近开发的程序中有一个syslog采集的功能要用到514端口,但这个其实是syslogd的默认端口,所以首先要停掉syslogd的服务,把占用端口程序kill掉。
1.在/etc下stopsrc -s syslogd 停止syslog服务;
- 查看端口占用情况 netstat -Aan|grep 514
找到该端口连接对应的PCB/ADDR和连接的协议类型。
注:PCB ----Protocol Control Block
- 如果是tcp连接,则rmsock <PCB/ADDR> tcpcb
如果是udp连接,则rmsock <PCB/ADDR> inpcb
下面我们以telnet服务所使用的514号端口为例,说明该方法:
#netstat -Aan|grep 514
f1000200019ce398 tcp 0 0 *.514 . LISTEN
可以看到PCB/ADDR为f1000200019ce398,且协议类型为tcp。
#rmsock f1000200019ce398 tcpcb
The socket 0x19ce008 is being held by proccess 185006 (inetd).
命令报告该端口正在被inetd进程使用,PID为185006。
kill 185006
注意:rmsock命令需要root权限执行。