![TCP/IP 포트에서 실행 중인 프로세스를 종료하기 위해 별칭을 어떻게 생성합니까? [복사]](https://linux55.com/image/50558/TCP%2FIP%20%ED%8F%AC%ED%8A%B8%EC%97%90%EC%84%9C%20%EC%8B%A4%ED%96%89%20%EC%A4%91%EC%9D%B8%20%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EB%A5%BC%20%EC%A2%85%EB%A3%8C%ED%95%98%EA%B8%B0%20%EC%9C%84%ED%95%B4%20%EB%B3%84%EC%B9%AD%EC%9D%84%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%83%9D%EC%84%B1%ED%95%A9%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
내가 가진 것:
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
넌 끝났어
화타이