この「kill」コマンドでコンピューターからログアウトされるのはなぜですか?


40

次のコマンドはサインアウトします(このコマンドを実行しないでください)。

kill -9 -1

理由がわかりません。

誰かがこれを私に説明できますか?

回答:


71

構文はkill SIGNAL PIDです。

この-9オプションは、SIGKILLシグナルを送信することを指定します(ターゲットプロセスを直ちに終了します)。PIDの指定は-1、「自分自身とinitを除くすべてのプロセス」の省略形です。

使用しないためsudo(おそらくルート権限がないため)、これにより、強制終了するすべてのプロセス(セッション全体)が即座に強制終了され、ログアウトされます。


9
あなたのようにsudoで次のコマンドを実行した場合や、ノート、sudo kill -9 -1そしてコンピュータが再起動されます
アンワル

本当に再起動しますか?クラッシュするようです。
user606723

@ user606723 initプロセスは終了せず、終了した他のすべてのプロセスについて(もしあれば)何をするかを決定できます。
-Random832

3
@Anwarは必ずしも再起動するわけではなく、単にinitを実行するようになります。これにより、シェルが生成されたり、他のサービスが再起動されたりする場合があります。
ミケバブコック

27

試してみる

man kill

killコマンドの説明を取得します。

それは言います:

-1のPIDは特別です。killプロセス自体とinitを除くすべてのプロセスを示します。

そして

キル-9 -1

 Kill all processes you can kill.

すべてのプロセスを終了したときに、コンピューターがログアウトする理由を理解してください。すべてを終了しました。

お役に立てれば。


18
を指す場合は+1 man。「魚にどのように教えるか、manそして一生彼に餌をあげる。」(パンの意図:
m000

7

あなたは与えている-1プロセスIDとして:からkillマンページ:

 A  PID of -1 is special; it indicates all processes except the
 kill process itself and init.
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.