我正在尝试使用命令行获取UNIX中进程的线程数。在浏览了unix命令的手册页后,我了解到以下命令:
ps -o nlwp <pid>
返回进程中生成的线程数。
每当我在unix中执行上述命令时,它返回:
NLWP
7
现在,我想在7之前忽略NLWP和空格。
那我只是对一个值感兴趣,因为我将在脚本中使用它,我正在编写单元测试?
是否可以仅获取值,并忽略所有内容(标题 NLWP ,空格)?
答案 0 :(得分: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
,则其中任何一个都可以:{/ p>
ps -o nlwp <pid> | awk 'END {print $1}'
ps -o nlwp <pid> | tail -1 | tr -d' '