ps命令交叉編譯 運行top時,會報unknown terminal type錯誤

  • 2020 年 2 月 13 日
  • 筆記

busybox中的ps命令是針對於嵌入式的,其中一些選項並不完整。因此需要將源碼下載下來,進行交叉編譯

官方下載地址

github下載地址

含有configure,我在此使用的是這個源碼包,官方的包在公司編譯服務器上執行autogen.sh出錯

編譯腳本-不帶ncurses:

#!/bin/sh    CROSS_COMPILE=arm-hisiv100nptl-linux-  ARCH=arm  TARGET_DIR=$(cd `dirname $0`; pwd)/output    build_procps() {      cd procps-ng-3.3.10-master      echo "ac_cv_func_realloc_0_nonnull=yes" > arm-linux.cache      echo "ac_cv_func_malloc_0_nonnull=yes" >> arm-linux.cache      ./configure --host=$ARCH-linux --prefix=$TARGET_DIR           --enable-static           --disable-shared           --without-ncurses           --cache-file=arm-linux.cache           CC=$CROSS_COMPILEgcc           STRIP=$CROSS_COMPILEstrip           RANLIB=$CROSS_COMPILEranlib           OBJDUMP=$CROSS_COMPILEobjdump           NM=$CROSS_COMPILEnm           LD=$CROSS_COMPILEld           AR=$CROSS_COMPILEar           AS=$CROSS_COMPILEas ;        make ; make install || exit 1      #make || exit 1      cd -  }    build_procps

ncurses下載地址

編譯腳本-帶ncurses:

#!/bin/sh    CROSS_COMPILE=arm-hisiv100nptl-linux-  ARCH=arm  TARGET_DIR=$(cd `dirname $0`; pwd)/output    build_ncurses() {      cd ncurses-5.9      ./configure --host=$ARCH-linux --prefix=$TARGET_DIR           --enable-static           --disable-shared           CC=$CROSS_COMPILEgcc           STRIP=$CROSS_COMPILEstrip           RANLIB=$CROSS_COMPILEranlib           OBJDUMP=$CROSS_COMPILEobjdump           NM=$CROSS_COMPILEnm           LD=$CROSS_COMPILEld           AR=$CROSS_COMPILEar           AS=$CROSS_COMPILEas ;        make ; make install || exit 1      #make || exit 1      cd -  }      build_procps() {      cd procps-ng-3.3.10-master      echo "ac_cv_func_realloc_0_nonnull=yes" > arm-linux.cache      echo "ac_cv_func_malloc_0_nonnull=yes" >> arm-linux.cache      CFLAGS="-I$TARGET_DIR/include -I$TARGET_DIR/include/ncurses" NCURSES_CFLAGS="-I$TARGET_DIR/include -I$TARGET_DIR/include/ncurses" NCURSES_LIBS="-L$TARGET_DIR/lib -lncurses" ./configure --host=$ARCH-linux --prefix=$TARGET_DIR           --enable-static           --disable-shared           --with-ncurses           --cache-file=arm-linux.cache           CC=$CROSS_COMPILEgcc           STRIP=$CROSS_COMPILEstrip           RANLIB=$CROSS_COMPILEranlib           OBJDUMP=$CROSS_COMPILEobjdump           NM=$CROSS_COMPILEnm           LD=$CROSS_COMPILEld           AR=$CROSS_COMPILEar           AS=$CROSS_COMPILEas ;        make ; make install || exit 1      #make || exit 1      cd -  }

相關問題:

運行top時,會報unknown terminal type錯誤

export TERMINFO=/mnt/nfs/procps/terminfo

這樣處理後,可以顯示,但顯示不完全

參考博文:

交叉編譯Procps-ng-3.3.11

linux ps命令,查看進程cpu和內存佔用率排序

ps命令實例講解 查看線程信息

ps顯示線程名稱

ps -eLf c

PS命令參數詳解(較詳細)