2014-09-11 58 views
0

我正嘗試使用命令行獲取UNIX中進程的線程數。通過UNIX命令的手冊頁會後,我才知道,下面的命令:獲取進程中活動線程數的值

ps -o nlwp <pid> 

返回線程數的進程產生。

每當我在UNIX上面的命令執行,它返回:

NLWP 
    7 

現在,我想前7

這就是我在一定的價值,有興趣的,因爲忽視NLWP和空間我將在一個腳本中使用它,我正在寫單元測試?

是否有可能只提取值並忽略所有內容(標題NLWP,空格)?

+0

你能重新打開你最近的問題嗎?我明白你在問什麼,並正在做出答案,儘管沒有其他人似乎有。 – ysth 2014-11-12 18:10:15

回答

1

您可以隨時使用ps中的--no-headers選項來擺脫標題。

在這種情況下,使用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' ' 
+1

輝煌。它工作了!!非常感謝。 – 2014-09-11 11:42:25