아래와 같이 jsvc.exe는 PID 23943을 사용하여 8910에서 실행되고 있습니다.
[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
이와 같은 포트를 "활성화"하고 "비활성화"하는 두 가지 방법이 있습니다.
방화벽 규칙을 사용하여 이를 활성화 및 비활성화할 수 있습니다. 그러나 이는 포트에 액세스하는 외부 호스트에만 영향을 미치며 사실상 포트에 대한 외부 액세스를 차단할 뿐입니다.
또 다른 방법은 포트에서 활발하게 수신 대기 중인 프로세스를 중지했다가 시작하는 것입니다. 따라서 프로세스를 종료하면 해당 포트에서 수신 대기 중인 모든 항목이 제거됩니다. 프로세스를 다시 시작하면 다시 나타납니다.
따라서 실제 질문은 프로세스를 중지하고 다시 시작하는 방법입니다. 포트 자체는 열거나 닫을 수 없으며 차단 및 차단 해제만 가능합니다. 프로세스는 켜고 끄는 것입니다.