私のアイドルSSHセッションを終了する方法

私のアイドルSSHセッションを終了する方法

アイドルSSHセッションを終了したい。このリモートサーバーは多くのユーザーが使用していますが、私が所有しているセッションのPIDをどのように識別できますか?

これを実行すると、whoユーザー名でタグ付けされた SSH セッションのリストが表示されます。

$ who
                                                                                       
me      pts/0        2020-11-23 18:05 (tmux(id).%0)
me      pts/1        2020-11-06 13:28 (<ip 1>)
someone    pts/2        2020-11-09 09:36 (<ip 2>)
someone    pts/3        2020-11-26 20:26 (<ip 2>)
...

を実行すると、pstreeセッションにユーザー名タグが付けられなくなります。

$ pstree -p | grep sshd 

|-sshd(930)-+-sshd(3518)---sshd(3536)---python(5736)-+-{python}(5744)
           |           |-sshd(4285)---sshd(4308)
           |           |-sshd(5428)---sshd(5450)
...

ベストアンサー1

ルート以外では他のプロセスでは何もできないので、sshdすべてのプロセスにシグナルを送信するだけでは危険ではありません。

pkill sshd

独自のプロセスに明示的に制限するには:

pkill -U "$USER" sshd

USERまたは実行中のシェルで変数が使用されていない場合は、"$LOGNAME"代わりに試して"$USER"ください。

pkill -U "$(id -un)" sshd

このコマンドのマニュアルも参照してくださいpkill

一致するプロセスのプロセスIDのリストを取得するには、pgrep代わりに使用してください。表示または一覧表示する場合にのみ、or withをpkill使用してください。pkillpgrep-o最も古いプロセス。

おすすめ記事