Ubuntuサーバーのpkill

Ubuntuサーバーのpkill

私はコマンドを次pkillのように使用します。私のvps Ubuntuはサーバーから追い出されてアクセスできません。

私が端末に書いた内容は次のとおりです。

pkill h

時間私のUbuntuユーザーですか?

解決策は何ですか?

答え1

特定のユーザーに属するすべてのプロセスを終了するには、次のようにします。

pkill -U user .

.最後のすべてのプロセス名と一致し、名前付き-U userユーザーに属するプロセスにタスクを制限しますuser

コマンドがどのプロセスに影響するかを確認するには、コマンド自体をに置き換えてから追加して「長い出力」を取得しますpkill(プロセス名も表示されます)。pkillpgrep-l

pgrep -l h

上記のコマンドは、名前hにその文字を含むシステム上のすべてのコマンドを表示する必要があります。以下のコマンドは、名前が次のユーザーに属するすべてのコマンドを表示しますuser

pgrep -l -U user .

答え2

あなたは私たちに言う、

私が端末に書いた内容は次のとおりです。pkill h

また、ここで行われるのは、名前に含まれるすべてのプロセスをroot終了することです。hこれには、sshdインバウンド要求を制御するマスターsshと、既存の接続を仲介するすべての子ノードが含まれます。

グラフィックス以外のコンソールにログインして直接再起動できない場合は、システム強制再起動をスケジュールする必要があります。

慣れていないコマンドについては、文書を確認する習慣を挙げることをお勧めします。ここではman pkill、最初の例として、特定のユーザーが所有するプロセスのみを選択する方法を示します。状況に合わせて例を適用してみてください。

pkill -u h          # user "h"

より良い方法は、pgrepまず正しいプロセスセットと一致することを確認することです。

pgrep -a -u h       # -a shows "all" the command line, for user "h"

または信号0を送信し、何もしません。

pkill -0 -e -u h    # Signal zero, "echo" affected processes, for user "h"

ユーザー名は正確に一致する必要がありますが、プロセス名は部分的に一致する必要があります。 (これがh元のコマンドと一致する理由がありますsshd。)

関連情報