linux ps 截断,在Linux上的C中,popen/system到"ps all> file"会将所有行截断为80个字符

John Ledbett..

6

作为一种变通方法,尝试通过-w或可能-ww以ps当你调用它.

从手册页(BSD):

-w Use 132 columns to display information, instead of the default which is your

window size. If the -w option is specified more than once, ps will use as many

columns as necessary without regard for your window size. When output is

not to a terminal, an unlimited number of columns are always used.

Linux的:

-w Wide output. Use this option twice for unlimited width.

或者,

你可能会取得一些成功fork/exec/wait而不是使用system; 省略错误处理以简化:

#include

#include

pid_t pid = fork();

if (!pid) {

/* child */

FILE* fp = fopen("./your-file", "w");

close(STDOUT_FILENO);

dup2(fileno(fp), STDOUT_FILENO);

execlp("ps", "ps", "all", (char*)NULL);

} else {

/* parent */

int status;

wait(&status);

printf("ps exited with status %d\n", status);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值