交叉编译procps

 

 

板子原本系统软件,top命令来自busybox 内部自带的procps,不支持显示进程优先级

开源的procps-ng源码交叉编译可以得到功能较丰富的top命令,(以top命令举例,还有ps pmap vmstat watch等命令)

procps 依赖ncurses 库,交叉编译ncurses-6.0 source code

./configure --prefix=/home/faun/backup/ncurses-6.0 --host=arm-linux-gnueabihf  --with-shared

make

/backup/ncurses-6.0/lib$ ls
libncurses.so.6.0  libpanel.so.6

交叉编译procps

NCURSES_CFLAGS="-I/backup/ncurses-6.0/include" NCURSES_LIBS="-L/backup/ncurses-6.0/lib -lncurses -ltinfo"./configure --host=arm-linux-gnueabihf --prefix=/backup/procps-ng-3.3.16/bin --exec-prefix=/backup/procps-ng-3.3.16/bin --libdir=/backup/procps-ng-3.3.16/bin --enable-static --disable-kill --with-ncurses

vim config.h 
//mark rpl_malloc

make
/backup/procps-ng-3.3.16/bin$ ls
free  pgrep  pidof  pkill  pmap  ps  pwdx  slabtop  tload  top  uptime  vmstat  w  watch

/backup/procps-ng-3.3.16/usr/lib$ ls
libprocps.a  libprocps.la  libprocps.so  libprocps.so.8  libprocps.so.8.0.2  pkgconfig


将libncurses.so.6  libprocps.so.8.0.2 和top 命令copy到板子里面,执行./top提示terminal 设定有问题,重设terminal环境变量为vt100(从ubuntu 电脑cop,这个不是elf,可以与arm板子共用),创建terminal database如下目录结构

/mnt # ./top
terminals database is inaccessible

/mnt # ls /usr/share/terminfo/v/vt100 
/usr/share/terminfo/v/vt100

/mnt # export TERM=vt100

再次执行top显示成功

                              

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shenhuxi_yu

感谢投币,继续输出

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值