すべてのアクティブなプロセスを見つけて、ユーザーにスケジュールポリシーを印刷するシェルスクリプトを作成したいと思います。これが結果であることを願っています。
pid 3042's current scheduling policy: SCHED_OTHER
pid 3042's current scheduling priority: 0
pid 3043's current scheduling policy: SCHED_OTHER
pid 3043's current scheduling priority: 0
pid 3044's current scheduling policy: SCHED_OTHER
pid 3044's current scheduling priority: 0
私はこれをうまく実行しましたが、ps
andchrt
コマンドを使用する単一のプロセスにのみ適用されます。
ベストアンサー1
ps -c
問題ありません。ただし、ほとんどの実際のアプリケーションはスレッドのサブセットの予約ポリシーのみを変更します。したがって、リアルタイムで部分的に実行できますが、 でのみ表示されますTS
。完全なビューを取得するには、以下を追加して個々のスレッドを表示します-T
。
eric ) ps -cT -p (pidof pulseaudio)
PID SPID CLS PRI TTY TIME CMD
88821 88821 TS 30 ? 00:00:25 pulseaudio
88821 88822 RR 45 ? 00:00:22 alsa-sink-ALC25
88821 88823 RR 45 ? 00:00:00 alsa-source-ALC
eric ) ps -cT -p (pidof jackdbus)
PID SPID CLS PRI TTY TIME CMD
86902 86902 TS 19 ? 00:00:00 jackdbus
86902 109091 TS 19 ? 00:00:00 jackdbus
86902 109092 FF 50 ? 00:00:00 jackdbus
86902 109093 TS 19 ? 00:00:00 jackdbus
したがって、ここではジャックがFIFOで実行され、パルスオーディオがループで実行されていることがわかります。指定しない場合、両方のTS
プロセス-T
は読み取りのみを行います。
コマンドが機能しない場合、より良いシェルに切り替えるそれからもう一度やり直してください。