Получить cpuid для определенного потока процесса, используя ps

645
vreg

Как мне получить команду ps для вывода только cpuid, если я знаю pid и tid?

Я могу использовать ps -e -mo pid,tid,psr | grep Thread_Idдля отображения текущего процессора, на котором запущен поток, но есть ли способ получить просто 'psr' без необходимости обработки результирующей выходной строки:

$ ps -e -mo pid,tid,psr | grep 4360 $ - 4360 0 <-- thread 4360 on cpu0 

Вместо этого просто напечатайте

$ 0 

Что-то вроде ps -p Process_Id -t Thread_Id -o psr<- Это, очевидно, не работает.

Или любая другая команда, отличная от «ps», которая выполнит работу?

0
То есть вы просто пытаетесь сузить результаты до третьего столбца, верно? n8te 7 лет назад 0
@ n8te: Да, хочу, чтобы команда выводила напрямую только процессор, если у меня есть идентификаторы процесса и потока. vreg 7 лет назад 0
Вы можете передать результаты в команду awk. Попробуйте это и скажите мне, даст ли он результаты, которые вы ищете: `ps -e -mo pid, tid, psr | grep 4360 | awk '' ` n8te 7 лет назад 0
Это должно было сработать, но не ... оно печатает '-', за которым следует процессор в следующей строке. Я ищу вывод только процессор. Работает ли это для вас? vreg 7 лет назад 0
Используйте это вместо: `ps -e -mo pid, tid, psr | grep 4360 | awk 'FNR == 2 ' ` n8te 7 лет назад 0
Да, отлично работает vreg 7 лет назад 0

0 ответов на вопрос

Похожие вопросы