jobs
は、バックグラウンドで実行されているコードを確認するためのお気に入りのコマンドです。それらを動的にチェックするために、私はタイプする傾向があります
watch 'jobs'
何も表示されません。しかしながら
watch 'ps'
完璧に動作します。私は今何ヶ月も同じ過ちを犯しています。
最初の方法が機能しないのに2番目の方法が機能しない理由を理解することで、同じエラーの発生を防ぐことができます。
誰か助けてもらえますか?
jobs
は、現在のシェルの状態(そのシェルでバックグラウンド化されたコマンド)を報告する組み込みです。 watch
は実行ごとに新しいシェルを実行しますが、そのシェルのjobs
はwatch
の親シェルのジョブを知る方法がありません。 ps
は外部コマンドであり、シェルの状態を使用することはありません。