読み込みでループ中のbash無限中断

読み込みでループ中のbash無限中断

明らかに、これは、再起動を除いてシステム制御が復元されないように実行される一連のbashコマンドを生成しようとすることから生じる人工的な例です。

基本的に、これが起動後に最初の実行であると仮定すると、このコマンドの状態から抜け出す方法があるかどうか疑問に思います。質問を一般化すると、デバイスを物理的にオフにせずに実行中のコマンドを終了できるようにすることができます。

while trap '' 2; do read; done;

編集:明確にするために、コマンドを実行したのと同じユーザーが同じシェル内でアクションを実行できるかどうか、物理キーボード以外の方法でボックスにアクセスできないとし、これが最初に実行されました。新兵。

ベストアンサー1

SIGTERMまたはSIGKILLをkill -5 <PID>または経由で送信すると、kill -9 <PID>プロセスは終了します。

$ cat your_command.sh
while trap '' 2; do read; done;
$ sh your_command.sh
$ ps a | grep 'your_command.sh'
3051 pts/1    S+     0:00 sh your_command.sh
$ kill -5 3051

ユーザーがシステムに完全にアクセスできない状況でも、次のものを使用できます。マジックSysRqキーこれにより、低レベルのコマンドをカーネルに直接送信し、PID 1を除くすべてのプロセスを終了するなどの操作を実行できます。

おすすめ記事