답변1
Unix 및 Linux StackExchange에 오신 것을 환영합니다!
귀하의 사진에 따르면 SIGTERM을 사용하여 현재 포트를 점유하고 있는 프로세스를 종료하면 새로운 프로세스가 대신 발생합니다. 따라서 systemd
프로세스가 종료될 때 자동으로 프로세스를 다시 시작하도록 구성되거나 포트를 보유하는 프로세스가 주 서버 응용 프로그램의 "작업자" 하위 프로세스일 뿐입니다.
문제의 프로세스 이름은 node
귀하의 출력을 기반으로 한 것 같습니다 netstat -tlpn
. 그래서 먼저 다음과 같은 이름의 시스템 서비스가 있는지 확인하려고 했습니다.
systemctl | grep -i node
서비스의 정확한 이름(예 node.service
: )을 알고 나면 다음을 사용하여 서비스를 중지할 수 있습니다.
systemctl stop node.service
잘못된 것으로 판명되면 재부팅하십시오.
systemctl start node.service
올바른 서비스가 중지되었음을 확인한 후에는 다음에 시스템을 재부팅할 때 서비스가 자동으로 시작되지 않도록 서비스를 비활성화할 수 있습니다.
systemctl disable node.service
답변2
특정 포트에서 수신 대기하는 프로세스를 검색하려면 lsof 또는 열린 파일 나열을 사용하십시오.
lsof
-i
특정 포트 필터링 옵션 에서 실행 중인 프로세스 찾기
lsof -i TCP:[PORT]
lsof -i TCP:5601
특정 포트에서 수신 대기 중인 모든 프로세스를 종료합니다. 이 -t
명령은 정확히 파이프에 대한 PID만 반환하며 xargs
반환된 각 줄에서 사용됩니다.
lsof -ti tcp:[PORT] | xargs kill
lsof -ti tcp:5601 | xargs kill
프로세스가 더 지속적이고 종료가 작동하지 않으면 kill -9 [PID]
더 적극적으로 종료해 보십시오.
인용하다