web-dev-qa-db-ja.com

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

次のコマンドはサインアウトします(しないこのコマンドを実行します):

kill -9 -1

理由がわかりません。

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

40
hytromo

構文はkill SIGNAL PIDです。

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

Sudoを使用しないため(ルート権限がないと思われます)、これにより、ユーザーは強制終了するすべてのプロセス(セッション全体)を即座に強制終了し、ログアウトします。

72
chronitis

試してみる

man kill

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

それは言います:

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

そして

キル-9 -1

 Kill all processes you can kill.

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

お役に立てれば。

27
mondjunge

プロセスIDとして-1を指定しています:kill manページから:

 A  PID of -1 is special; it indicates all processes except the
 kill process itself and init.
7
Tom Regner