TCP/IP 포트에서 실행 중인 프로세스를 종료하기 위해 별칭을 만드는 방법은 무엇입니까?

TCP/IP 포트에서 실행 중인 프로세스를 종료하기 위해 별칭을 만드는 방법은 무엇입니까?

내가 가진 것:

alias killport='sudo kill -9 `sudo fuser -n tcp $1 2> /dev/null`'

문제:

예를 들어 실행하는 것은 killport 8000작동하지 않는 것 같습니다. 그러나 단순히 달리는 것은...

sudo kill -9 `sudo fuser -n tcp 8000 2> /dev/null` 

... 작동합니다. 내가 어디를 엉망으로 만들고 있는지 알 수 없습니다.

내가 볼 수 있는 한 작동하는 버전과 작동하지 않는 버전의 주요 차이점은 별칭 버전이 변수를 포함하고 나를 위해 셸에 의해 실행된다는 것입니다.... 하지만 누군가가 전에 이런 종류의 문제를 본 적이 있고 알고 있을 수도 있습니다. 바로 어디를 봐야할지.

답변1

별칭은 매개변수를 지원하지 않으므로 별칭 대신 함수를 사용해야 합니다. 다음과 같이 만드세요.

killport(){ 

sudo kill -9 $(sudo fuser -n tcp $1 2> /dev/null);

}

이제 이 기능을 bash 구성 파일(예: ~/.bashrc)에 넣고 다음을 실행하세요.

source  ~/.bashrc

그리고 넌 끝났어

HTH

관련 정보