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

君は終わった

ファタイ

関連情報