Получить значение количества активных потоков в процессе

Я пытаюсь получить количество потоков процесса в UNIX с помощью командной строки. Пройдя страницу руководства команды unix, я узнал следующую команду:

ps -o nlwp <pid>

возвращает количество потоков, созданных в процессе.

Всякий раз, когда я выполнял вышеуказанную команду в unix, она возвращала:

NLWP
   7

Теперь я хочу пренебречь NLWP и пробелом до 7.

То есть меня просто интересует значение, так как я буду использовать его в скрипте, который я пишу для модульного тестирования?

Можно ли получить только значение и пренебречь всем (Заголовок NLWP, пробел)?

1 ответ

Решение

Вы всегда можете использовать --no-headers вариант в ps избавиться от заголовков.

В этом случае используйте awk просто напечатать первое значение:

ps --no-headers -o nlwp <pid> | awk '{print $1}'   

Или же tr убрать пробелы:

ps --no-headers -o nlwp <pid> | tr -d ' '

Если --no-headers не поддерживается в вашем ps версия, любой из них делает это:

ps -o nlwp <pid> | awk 'END {print $1}'
ps -o nlwp <pid> | tail -1 | tr -d' '
Другие вопросы по тегам