如下所示,jsvc.exe 正在 8910 上运行,PID 为 23943。
[root@abc-163 ~]# netstat -tulpn | grep :8910
tcp6 0 0 :::8910 :::* LISTEN 23943/jsvc.exec
[root@abc-163 ~]# ps -lf -p 23943
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
5 S admi+ 23943 23942 3 80 0 - 2382184 hrtime Sep13 ? 12:01:07 jsvc.exec -
java-home /opt/CSCOcpm/jre -server -user admin -outfile /abc/bcd
我的要求是完全禁用 8910 端口,即不应在 8910 上侦听任何内容。但是当需要时(在我的网站中执行一些 UI 操作后),我希望应再次启用 8910 端口并开始像以前一样侦听。你能建议我如何实现这一目标吗?
我尝试通过以下方式杀死 PID 23943
[root@abc-161 ~]# fuser -k 8910/tcp
8910/tcp: 20570
它也杀死了这个过程。之后我使用 netstat 命令进行检查并确认 8910 上没有任何监听。到目前为止一切都很好。但是之后我如何再次启用8910端口呢?我如何确保相同的 jsvc.exec 应该再次在 8910 上运行?
答案1
有两种方法可以像这样“启用”和“禁用”端口。
您可以使用防火墙规则启用和禁用它们——但这只会影响访问该端口的外部主机,实际上只是阻止外部访问该端口。
另一种方法是停止并启动正在端口上主动侦听的进程。因此,通过终止该进程,您可以删除该端口上侦听的所有内容。通过重新启动该过程,它会回来。
因此,您真正的问题是如何停止并重新启动该过程。端口本身无法打开和关闭——只能阻止和解除阻止。该过程就是您打开和关闭的过程。