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);

}

이제 이 함수를 ~/.bashrc와 같은 bash 구성 파일에 넣고 다음을 실행합니다.

source  ~/.bashrc

넌 끝났어

화타이

관련 정보