Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ lsof和ps中的柱对齐_C++_Ps_Lsof - Fatal编程技术网

C++ lsof和ps中的柱对齐

C++ lsof和ps中的柱对齐,c++,ps,lsof,C++,Ps,Lsof,我正在将popen的输出解析为lsof和ps 我想知道第一列和最后一列是否总是左对齐?中间的其余部分总是右对齐的?如列FD所示,列3的最小宽度是多少 例如: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME\n bash 252 noida cwd DIR 1,2 1088 410828 /Users/noida ion/Desktop\n bash 252 noida txt REG

我正在将
popen
的输出解析为
lsof
ps

我想知道第一列和最后一列是否总是左对齐?中间的其余部分总是右对齐的?如列
FD
所示,列
3
的最小宽度是多少

例如:

COMMAND PID  USER   FD   TYPE DEVICE  SIZE/OFF   NODE NAME\n
bash    252 noida  cwd    DIR    1,2      1088 410828 /Users/noida ion/Desktop\n
bash    252 noida  txt    REG    1,2    628736  11647 /bin/bash\n
bash    252 noida  txt    REG    1,2    622896  11866 /usr/lib/dyld\n
bash    252 noida  txt    REG    1,2 382100934 418209 /private/var/db/dyld/dyld_shared_cache_x86_64\n
bash    252 noida    0u   CHR   16,0  0t401079    601 /dev/ttys000\n
bash    252 noida    1u   CHR   16,0  0t401079    601 /dev/ttys000\n
bash    252 noida    2u   CHR   16,0  0t401079    601 /dev/ttys000\n
bash    252 noida  255u   CHR   16,0  0t401079    601 /dev/ttys000\n
0\u000b\u0001

您得到的输出可能是默认格式的输出。 在popen中传递shell命令时,也添加格式选项

将column命令管道化到lsof命令

例:

颠倒路线

lsof-ps |柱-t |修订版

粗略的例子:

//为了扭转联盟

FILE *fp;
char pOpenCmd[100] = "lsof -ps | column -t | rev";
fp = popen(pOpenCmd, "r");
要使所有内容都向左对齐,请使用“column-t”

可以通过管道“column-c”来指定列的宽度

在下面的链接中,您还有更多选项。