プロセスを手動で終了した後に「jobs」コマンドを使用すると、プロセスが表示されるのはなぜですか?

プロセスを手動で終了した後に「jobs」コマンドを使用すると、プロセスが表示されるのはなぜですか?

手動終了後も「JOBS」コマンド出力にparole(メディアプレーヤー)が表示され続けるのはなぜですか。「PS」コマンド出力にはリストされないのはなぜですか?

  1. これはプロセスがまだバックグラウンドで実行されていることを意味します(ps:killコマンドを実行するとメディアプレーヤー[parole]が閉じられます)。
  2. 実行中の場合、「PS」コマンドの出力に表示されないのはなぜですか? 「JOBS」コマンドが実行されていない場合の出力の意味は何ですか?

入力されたコマンドのリスト

答え1

ジョブは次の日に最後に表示されます。どのコマンドは終了します。

下記をご覧ください

 > sleep 30 &
[1] 134042
 > ps
    PID TTY          TIME CMD
 134009 pts/4    00:00:00 bash
 134042 pts/4    00:00:00 sleep
 134043 pts/4    00:00:00 ps
 > kill 134042
 > date
Mon Aug  3 22:11:58 CEST 2020
[1]+  Terminated              sleep 30
 > jobs
 > 

によると、man bash職業管理

ジョブの状態が変わるたびに、シェルはすぐに学習します。通常、bashは他の出力を中断しないようにジョブの状態の変更を報告する前にプロンプ​​トが印刷されるのを待ちます。

したがって、空のコマンド(キーを押すなどreturn)を使用して行を表示することもできますdone

関連情報