TCP/IP ポートで実行中のプロセスを強制終了するためのエイリアスを作成するにはどうすればいいですか?

TCP/IP ポートで実行中のプロセスを強制終了するためのエイリアスを作成するにはどうすればいいですか?

私が持っているもの:

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

問題:

ただし、 eg を実行して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

関連情報