コンピュータを再起動せずにすべてのプロセスを終了するにはどうすればよいですか?

コンピュータを再起動せずにすべてのプロセスを終了するにはどうすればよいですか?

実行中のプロセスが多すぎるため、すべて終了する必要があります。

ここに画像の説明を入力してください。

コンピュータを再起動せずにこれを行うにはどうすればよいですか?

答え1

過激ではなく、もっと真剣に殺す'ing、メンテナンスモード(別名)に切り替えることができます。シングルユーザー):

# as root:
/sbin/init 1

システムが次に切り替わります。実行レベル1、メンテナンス作業専用です。 [ほぼ]すべてのプロセスが[適切に]終了し、すべてのファイルシステムがアンマウントされ、対話型ログインがコンソール(ブートパラメータconsole)に渡されます。

後でマルチユーザーランレベルに戻ります。

/sbin/init 3

または、グラフィカルログインマネージャを有効にします。

/sbin/init 5

答え2

これはできません。何をしても必ずやるべきことは最後のものプロセスが実行されます。またはむしろ、できるこれにより、カーネルがコアをダンプし、パニックが発生します。その後すぐに再起動できます。そうしないと、マシンが再起動されるまで何も起こりません。

カーネルスペースがあり、ユーザースペースがあります。ユーザースペースは起動時にPID 1としてサポートされますinit。殺すみんなプロセスの主な目的は、ユーザースペースをなくすことです。それでは、コンピュータで何をしますか?

システムが起動すると、システムのファームウェアまたは一部の中間ブートローダがメモリからカーネルを実行します。カーネルはいくつかの完全なチェックを行い、それを見つけますinit。これを見つけてinit役に立つタスクを実行すると、最終的にコンピュータを使用できるようになります。それ以外の場合は、コンピュータを使用できません。

ブートサイクルの残存期間中、カーネルはinitユーザースペース(つまりサブスペース)にサービスを提供します。それらを取ると意味がありません。そしてその可能性が非常に高いです。に慣れるそれも嬉しいです。

答え3

もしSysRq マジックキーシステムで有効にするには、Alt+ Print Scrn/SysRq+ を押すEか、以下を実行できます。

echo e > /proc/sysrq-trigger

init(PID 1)を除くすべてのプロセスにSIGTERMを送信します。

Alt++またはPrint Scrn/SysRqI

echo i > /proc/sysrq-trigger

代わりにSIGKILLを送ってください。

答え4

ディストリビューションで以下を使用している場合は、最小ターゲットsystemdに切り替えることができますsystemd

systemctl isolate emergency.target

これにより、ほぼすべてのアプリケーションが終了し、システムがシングルユーザールートログインモードに切り替わります。次に、次を実行します。

systemctl isolate graphical.target

Xに戻ります。再起動はほぼ完了です。

関連情報