如何找到调度策略和活动进程的优先级?

Spy*_*os 5 linux process real-time shell-script

我想制作一个 shell 脚本来查找所有活动进程并向用户打印调度策略。我希望结果是这样的。

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
Run Code Online (Sandbox Code Playgroud)

我已经成功做到了这一点,但仅限于使用pschrt命令的单个进程。

Spy*_*os 1

我找到了两种方法来做到这一点 - 这可能不是最佳的,但它们完成了工作:

  1. #! /bin/bash 
    ps -u | grep '[0-9]' | awk '{print $2}' |
        while read line 
        do
            chrt -p "$line" 2>/dev/null
        done
    
    Run Code Online (Sandbox Code Playgroud)
  2. ps -u | grep '[0-9]' | awk '{system("chrt -p" $2)}' 2>/dev/null
    
    Run Code Online (Sandbox Code Playgroud)