Есть ли у нас какие-либо способы получить список процессов и потоков, которые находятся в состоянии выполнения (не работает) в Ubuntu? - PullRequest
0 голосов
/ 24 октября 2019

Мое требование - динамическое экранирование ЦП в программе на C, основанное на длине очереди запускаемых потоков (но не работающих потоков, ожидающих доступности ЦП) в операционных системах реального времени (например, Ubuntu с исправлением Linux linux). Например, мы можем считать, что система настроена для политики SCHED_FIFO.

Я не могу найти какие-либо команды для получения номера процесса, который находится в состоянии ожидания, состоянии выполнения, состоянии выполнения и т. Д.

Любая помощь приветствуется.

Команда «PS -T au» показывает состояние всех «работающих», а также «запущенных» потоков как «R».

PS -T au

Ниже приведен результат, который я получаю сверху команды. В этом ThreadID-16841, 16842 и 16843 являются потоками, которые были созданы основным процессом 16840. Все созданные выше потоки показывались в состоянии R, которое обозначает Runnable или выполняется.

Вместо этого я хотел бы команду linux или CAPI для получения количества процессов в работоспособном состоянии, но не запущенных.

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
...