Есть ли у нас способы получить список процессов и потоков, которые находятся в рабочем состоянии (не в рабочем состоянии) в ubuntu?
Мое требование - выполнить динамическое экранирование ЦП в программе C на основе длины очереди выполняемых потоков (но не запущенных потоков, ожидающих доступности ЦП) в сценариях операционных систем реального времени (скажем, ubuntu с исправлением RT linux). Например, мы можем считать, что система настроена для политики SCHED_FIFO.
Я не могу найти никаких команд для получения количества процессов, которые находятся в состоянии ожидания, состоянии выполнения, состоянии выполнения и т. Д.
Буду признателен за любую оказанную помощь.
Команда "PS -T au" показывает состояние всех "работающих", а также "запущенных" потоков как "R".
PS -T au
Ниже приведен результат, который я получаю от приведенной выше команды. В этом ThreadID-16841, 16842 и 16843 - это потоки, которые были созданы основным процессом 16840. Все созданные выше потоки отображались в состоянии R, что означает Runnable или running.
Вместо этого я хотел бы, чтобы команда linux или C API извлекала количество процессов в рабочем состоянии, но не запущенных.
USER PID SPID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 914 914 0.1 1.3 428324 105804 tty7 Rsl+ Oct23 1:27 /usr/lib/xorg/Xorg -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten
root 914 925 0.0 1.3 428324 105804 tty7 Ssl+ Oct23 0:04 /usr/lib/xorg/Xorg -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten
root 1170 1170 0.0 0.0 23004 1772 tty1 Ss+ Oct23 0:00 /sbin/agetty --noclear tty1 linux
senthil 1979 1979 0.0 0.0 29532 5056 pts/11 Ss Oct23 0:00 bash
senthil 2032 2032 0.0 0.0 29552 5212 pts/2 Ss Oct23 0:00 bash
root 16837 16837 0.0 0.0 62092 4132 pts/2 S+ 09:37 0:00 sudo ./sigmain
root 16840 16840 0.0 0.0 31108 796 pts/2 Sl+ 09:37 0:00 ./sigmain
root 16840 16841 95.9 0.0 31108 796 pts/2 Rl+ 09:37 9:01 ./sigmain
root 16840 16842 95.9 0.0 31108 796 pts/2 Rl+ 09:37 9:01 ./sigmain
root 16840 16843 95.9 0.0 31108 796 pts/2 Rl+ 09:37 9:01 ./sigmain
senthil 17225 17225 0.0 0.0 44432 3364 pts/11 R+ 09:46 0:00 ps -T au