top/htop でプロセスツリーを終了します。

top/htop でプロセスツリーを終了します。

トップシェル内のプロセスツリーをよく見ることができます。たとえば、終了したいジョブに送信する信号をタップしてから、選択してF9 (KILL)プロセスを終了できます。15 SIGTERM

ただし、これにより一度に1つのプロセスしか終了できません。プロセスツリー全体を終了する方法はありますかhtop

答え1

からman htop

対話型コマンド

スペース プロセスを表示または表示解除します。複数のプロセスで動作できるコマンド(「kill」など)は、表示されているプロセスのリストに適用されます。、現在強調表示されているものの代わりに。

ゆう すべてのプロセスのタグを解除します(スペースバーとして追加されたすべてのタグを削除します)。

F9、K 「キル」プロセス:メニューで選択した信号をプロセスまたはプロセスグループに送信します。プロセスが表示されると、表示されたすべてのプロセスに信号が送信されます。 フラグがない場合は、現在選択されているプロセスに送信されます。

正確にあなたが探している答えではありませんが、近いです。 killを使用してプロセスグループまたはサブプロセスを削除することもできます。以下を参照してください。

https://stackoverflow.com/questions/392022/best-way-to-kill-all-child-processes

答え2

そのような機能は長い間ありましたが、2018年までにマニュアルから消えました。このcキーを押すと、現在強調表示されているプロセスとすべての子プロセスが選択されます。その後、選択したプロセスに適用されるアクション(キーを使用した終了などk)がそのプロセスとその子プロセスに適用されます。

しかし、それは原子的ではありません。ボタンを押した時点とカーネルがすべてのプロセスを終了する間に新しい子プロセスが作成されると、そのプロセスは終了せず、c最終的にinitプロセスに再接続する可能性が高くなります。これは、htopがプロセスを繰り返しながら1つずつ終了するためです。

私は持っていますパッチを提案したAtomic group killerはしばらく前にhtopに追加されましたが、実装に関する合意が行われず、マージできません。これにより、htopはプロセスグループ全体をアトミックにシャットダウンできます。これはツリー全体を殺すのとまったく同じではありませんが、私が知っている限り、カーネルは任意のツリーを自動的に殺す方法を提供しません。

答え3

htopのマンページから:

F5、tツリービュー:プロセスを親子関係に基づいて構成し、プロセス間の関係をツリー形式で整理します。このキーを切り替えると、ツリーと以前に選択したソートビューが切り替わります。ソートビューを選択すると、ツリービューが終了します。

したがって、F5を押してから「t」を押す必要があるかもしれません。これは木全体を殺すでしょう。

答え4

htopを押してcプロセスツリーを表示し、k押して終了します。

       c    Tag  the  current process and its children. Commands that can operate on                                                                                                                                                                                                                                                                        
            multiple processes, like "kill", will then apply over the list of tagged                                                                                                                                                                                                                                                                        
            processes, instead of the currently highlighted one.   

関連情報