点击返回架构师成长之路html
htop 是Linux系统中的一个互动的进程查看器,一个文本模式的应用程序(在控制台或者X终端中),须要ncurses。linux
与Linux传统的top相比,htop更加人性化。它可以让用户交互式操做,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操做。shell
与top相比,htop有如下优势:网络
Htop的安装,既能够经过源码包编译安装,也能够配置好yum源后网络下载安装。架构
已经将文件下载在linux系统上面,而后解包。编辑器
tar -zxvf htop-1.0.2.tar.gzide
[root@CactiEZ /]# tar -zxvf htop-1.0.2.tar.gz
htop-1.0.2/
htop-1.0.2/config.sub
htop-1.0.2/htop.1.in
htop-1.0.2/AvailableMetersPanel.h
htop-1.0.2/Settings.h
htop-1.0.2/CategoriesPanel.c
htop-1.0.2/OpenFilesScreen.c
htop-1.0.2/UptimeMeter.c
htop-1.0.2/MetersPanel.c
htop-1.0.2/install-sh
htop-1.0.2/README
htop-1.0.2/AvailableColumnsPanel.c
htop-1.0.2/MemoryMeter.c
htop-1.0.2/SignalsPanel.c
htop-1.0.2/SwapMeter.h
htop-1.0.2/FunctionBar.c
htop-1.0.2/AvailableMetersPanel.c
htop-1.0.2/TasksMeter.c
htop-1.0.2/CategoriesPanel.h
htop-1.0.2/htop.c
htop-1.0.2/Vector.h
htop-1.0.2/Makefile.am
htop-1.0.2/autogen.sh
htop-1.0.2/BatteryMeter.h
htop-1.0.2/Affinity.h
htop-1.0.2/aclocal.m4
htop-1.0.2/LoadAverageMeter.h
htop-1.0.2/CheckItem.h
htop-1.0.2/htop.png
htop-1.0.2/configure
htop-1.0.2/FunctionBar.h
htop-1.0.2/depcomp
htop-1.0.2/Header.h
htop-1.0.2/IOPriority.c
htop-1.0.2/ColumnsPanel.h
htop-1.0.2/ColumnsPanel.c
htop-1.0.2/m4/
htop-1.0.2/m4/lt~obsolete.m4
htop-1.0.2/m4/ltoptions.m4
htop-1.0.2/m4/ltsugar.m4
htop-1.0.2/m4/ltversion.m4
htop-1.0.2/m4/libtool.m4
htop-1.0.2/UptimeMeter.h
htop-1.0.2/ListItem.h
htop-1.0.2/SignalsPanel.h
htop-1.0.2/IOPriorityPanel.h
htop-1.0.2/Settings.c
htop-1.0.2/htop.1
htop-1.0.2/configure.ac
htop-1.0.2/Meter.h
htop-1.0.2/MemoryMeter.h
htop-1.0.2/Header.c
htop-1.0.2/IOPriorityPanel.c
htop-1.0.2/CPUMeter.c
htop-1.0.2/ChangeLog
htop-1.0.2/UsersTable.c
htop-1.0.2/ltmain.sh
htop-1.0.2/HostnameMeter.h
htop-1.0.2/Affinity.c
htop-1.0.2/Hashtable.c
htop-1.0.2/BatteryMeter.c
htop-1.0.2/config.h
htop-1.0.2/Meter.c
htop-1.0.2/htop.desktop
htop-1.0.2/config.h.in
htop-1.0.2/RichString.c
htop-1.0.2/OpenFilesScreen.h
htop-1.0.2/String.h
htop-1.0.2/ClockMeter.c
htop-1.0.2/Process.h
htop-1.0.2/RichString.h
htop-1.0.2/ClockMeter.h
htop-1.0.2/AffinityPanel.h
htop-1.0.2/CRT.h
htop-1.0.2/ListItem.c
htop-1.0.2/SwapMeter.c
htop-1.0.2/CPUMeter.h
htop-1.0.2/Panel.c
htop-1.0.2/Panel.h
htop-1.0.2/ProcessList.h
htop-1.0.2/Object.h
htop-1.0.2/LoadAverageMeter.c
htop-1.0.2/AffinityPanel.c
htop-1.0.2/Process.c
htop-1.0.2/ScreenManager.h
htop-1.0.2/MetersPanel.h
htop-1.0.2/String.c
htop-1.0.2/INSTALL
htop-1.0.2/UsersTable.h
htop-1.0.2/TasksMeter.h
htop-1.0.2/NEWS
htop-1.0.2/CRT.c
htop-1.0.2/htop.h
htop-1.0.2/TraceScreen.h
htop-1.0.2/AUTHORS
htop-1.0.2/ScreenManager.c
htop-1.0.2/ColorsPanel.c
htop-1.0.2/TraceScreen.c
htop-1.0.2/DisplayOptionsPanel.h
htop-1.0.2/ProcessList.c
htop-1.0.2/CheckItem.c
htop-1.0.2/IOPriority.h
htop-1.0.2/AvailableColumnsPanel.h
htop-1.0.2/compile
htop-1.0.2/HostnameMeter.c
htop-1.0.2/Makefile.in
htop-1.0.2/Object.c
htop-1.0.2/ColorsPanel.h
htop-1.0.2/Vector.c
htop-1.0.2/DisplayOptionsPanel.c
htop-1.0.2/scripts/
htop-1.0.2/scripts/MakeHeader.py
htop-1.0.2/missing
htop-1.0.2/COPYING
htop-1.0.2/Hashtable.h
htop-1.0.2/config.guess
[root@CactiEZ /]#
提示没有安装GNC C编辑器。如下安装GNC C编辑器 。工具
yum -y install gcc网站
[root@CactiEZ /]# yum -y install gcc Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.tuna.tsinghua.edu.cn * updates: mirrors.tuna.tsinghua.edu.cn Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package gcc.i686 0:4.4.7-23.el6 set to be updated --> Processing Dependency: libgomp = 4.4.7-23.el6 for package: gcc-4.4.7-23.el6.i686 --> Processing Dependency: cpp = 4.4.7-23.el6 for package: gcc-4.4.7-23.el6.i686 --> Processing Dependency: libgcc >= 4.4.7-23.el6 for package: gcc-4.4.7-23.el6.i686 --> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc-4.4.7-23.el6.i686 --> Processing Dependency: cloog-ppl >= 0.15 for package: gcc-4.4.7-23.el6.i686 --> Processing Dependency: libgomp.so.1 for package: gcc-4.4.7-23.el6.i686 --> Running transaction check ---> Package cloog-ppl.i686 0:0.15.7-1.2.el6 set to be updated --> Processing Dependency: libppl_c.so.2 for package: cloog-ppl-0.15.7-1.2.el6.i686 --> Processing Dependency: libppl.so.7 for package: cloog-ppl-0.15.7-1.2.el6.i686 ---> Package cpp.i686 0:4.4.7-23.el6 set to be updated --> Processing Dependency: libmpfr.so.1 for package: cpp-4.4.7-23.el6.i686 ---> Package glibc-devel.i686 0:2.12-1.212.el6 set to be updated --> Processing Dependency: glibc-headers = 2.12-1.212.el6 for package: glibc-devel-2.12-1.212.el6.i686 --> Processing Dependency: glibc = 2.12-1.212.el6 for package: glibc-devel-2.12-1.212.el6.i686 --> Processing Dependency: glibc-headers for package: glibc-devel-2.12-1.212.el6.i686 ---> Package libgcc.i686 0:4.4.7-23.el6 set to be updated ---> Package libgomp.i686 0:4.4.7-23.el6 set to be updated --> Running transaction check --> Processing Dependency: glibc = 2.12-1.7.el6 for package: glibc-common-2.12-1.7.el6.i686 ---> Package glibc.i686 0:2.12-1.212.el6 set to be updated ---> Package glibc-headers.i686 0:2.12-1.212.el6 set to be updated --> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers-2.12-1.212.el6.i686 --> Processing Dependency: kernel-headers for package: glibc-headers-2.12-1.212.el6.i686 ---> Package mpfr.i686 0:2.4.1-6.el6 set to be updated ---> Package ppl.i686 0:0.10.2-11.el6 set to be updated --> Running transaction check ---> Package glibc-common.i686 0:2.12-1.212.el6 set to be updated --> Processing Dependency: tzdata >= 2015g-4 for package: glibc-common-2.12-1.212.el6.i686 ---> Package kernel-headers.i686 0:2.6.32-754.3.5.el6 set to be updated --> Running transaction check ---> Package tzdata.noarch 0:2018e-3.el6 set to be updated --> Finished Dependency Resolution Dependencies Resolved ======================================================================================================================================== Package Arch Version Repository Size ======================================================================================================================================== Installing: gcc i686 4.4.7-23.el6 base 8.2 M Installing for dependencies: cloog-ppl i686 0.15.7-1.2.el6 base 93 k cpp i686 4.4.7-23.el6 base 3.4 M glibc-devel i686 2.12-1.212.el6 base 991 k glibc-headers i686 2.12-1.212.el6 base 628 k kernel-headers i686 2.6.32-754.3.5.el6 updates 4.5 M libgomp i686 4.4.7-23.el6 base 137 k mpfr i686 2.4.1-6.el6 base 153 k ppl i686 0.10.2-11.el6 base 1.3 M Updating for dependencies: glibc i686 2.12-1.212.el6 base 4.4 M glibc-common i686 2.12-1.212.el6 base 14 M libgcc i686 4.4.7-23.el6 base 115 k tzdata noarch 2018e-3.el6 base 495 k Transaction Summary ======================================================================================================================================== Install 9 Package(s) Upgrade 4 Package(s) Total download size: 38 M Downloading Packages: (1/13): cloog-ppl-0.15.7-1.2.el6.i686.rpm | 93 kB 00:00 (2/13): cpp-4.4.7-23.el6.i686.rpm | 3.4 MB 00:09 (3/13): gcc-4.4.7-23.el6.i686.rpm | 8.2 MB 00:23 (4/13): glibc-2.12-1.212.el6.i686.rpm | 4.4 MB 00:12 (5/13): glibc-common-2.12-1.212.el6.i686.rpm | 14 MB 00:41 (6/13): glibc-devel-2.12-1.212.el6.i686.rpm | 991 kB 00:02 (7/13): glibc-headers-2.12-1.212.el6.i686.rpm | 628 kB 00:01 (8/13): kernel-headers-2.6.32-754.3.5.el6.i686.rpm | 4.5 MB 00:13 (9/13): libgcc-4.4.7-23.el6.i686.rpm | 115 kB 00:00 (10/13): libgomp-4.4.7-23.el6.i686.rpm | 137 kB 00:00 (11/13): mpfr-2.4.1-6.el6.i686.rpm | 153 kB 00:00 (12/13): ppl-0.10.2-11.el6.i686.rpm | 1.3 MB 00:03 (13/13): tzdata-2018e-3.el6.noarch.rpm | 495 kB 00:01 ---------------------------------------------------------------------------------------------------------------------------------------- Total 352 kB/s | 38 MB 01:52 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Updating : libgcc-4.4.7-23.el6.i686 1/17 Updating : tzdata-2018e-3.el6.noarch 2/17 Installing : kernel-headers-2.6.32-754.3.5.el6.i686 3/17 Updating : glibc-common-2.12-1.212.el6.i686 4/17 Updating : glibc-2.12-1.212.el6.i686 5/17 Installing : glibc-headers-2.12-1.212.el6.i686 6/17 Installing : libgomp-4.4.7-23.el6.i686 7/17 Installing : mpfr-2.4.1-6.el6.i686 8/17 Installing : cpp-4.4.7-23.el6.i686 9/17 Installing : ppl-0.10.2-11.el6.i686 10/17 Installing : glibc-devel-2.12-1.212.el6.i686 11/17 Installing : cloog-ppl-0.15.7-1.2.el6.i686 12/17 Installing : gcc-4.4.7-23.el6.i686 13/17 Cleanup : glibc-common-2.12-1.7.el6.i686 14/17 Cleanup : glibc-2.12-1.7.el6.i686 15/17 Cleanup : tzdata-2010l-1.el6.noarch 16/17 Cleanup : libgcc-4.4.4-13.el6.i686 17/17 Installed: gcc.i686 0:4.4.7-23.el6 Dependency Installed: cloog-ppl.i686 0:0.15.7-1.2.el6 cpp.i686 0:4.4.7-23.el6 glibc-devel.i686 0:2.12-1.212.el6 glibc-headers.i686 0:2.12-1.212.el6 kernel-headers.i686 0:2.6.32-754.3.5.el6 libgomp.i686 0:4.4.7-23.el6 mpfr.i686 0:2.4.1-6.el6 ppl.i686 0:0.10.2-11.el6 Dependency Updated: glibc.i686 0:2.12-1.212.el6 glibc-common.i686 0:2.12-1.212.el6 libgcc.i686 0:4.4.7-23.el6 tzdata.noarch 0:2018e-3.el6 Complete! You have new mail in /var/spool/mail/root [root@CactiEZ /]# ^C
再次使用 ./configure 确保系统拥有合适的编译器可以编译源代码。及具有正确的库依赖关系。ui
[root@CactiEZ htop-1.0.2]# ./configure checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking minix/config.h usability... no checking minix/config.h presence... no checking for minix/config.h... no checking whether it is safe to define __EXTENSIONS__... yes checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking target system type... i686-pc-linux-gnu checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for gcc... (cached) gcc checking whether we are using the GNU C compiler... (cached) yes checking whether gcc accepts -g... (cached) yes checking for gcc option to accept ISO C89... (cached) none needed checking whether gcc and cc understand -c and -o together... yes checking how to print strings... printf checking for a sed that does not truncate output... /bin/sed checking for fgrep... /bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1966080 checking whether the shell understands some XSI constructs... yes checking whether the shell understands "+="... yes checking for /usr/bin/ld option to reload object files... -r checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for ar... ar checking for strip... strip checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from gcc object... ok checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... no checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... no checking whether to build static libraries... yes checking for ceil in -lm... yes checking for dirent.h that defines DIR... yes checking for library containing opendir... none required checking for ANSI C header files... (cached) yes checking for stdlib.h... (cached) yes checking for string.h... (cached) yes checking for strings.h... (cached) yes checking sys/param.h usability... yes checking sys/param.h presence... yes checking for sys/param.h... yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking for unistd.h... (cached) yes checking curses.h usability... no checking curses.h presence... no checking for curses.h... no checking execinfo.h usability... yes checking execinfo.h presence... yes checking for execinfo.h... yes checking for stdbool.h that conforms to C99... yes checking for _Bool... yes checking for an ANSI C-conforming const... yes checking for pid_t... yes checking for uid_t in sys/types.h... yes checking whether closedir returns void... no checking return type of signal handlers... void checking whether lstat correctly handles trailing slash... yes checking whether stat accepts an empty string... no checking for memmove... yes checking for strncasecmp... yes checking for strstr... yes checking for strdup... yes checking whether gcc -std=c99 option works... yes checking for refresh in -lncursesw... no configure: error: You may want to use --disable-unicode or install libncursesw.
最后一段出现错误:
configure: error: You may want to use --disable-unicode or install libncursesw.
须要安装 ncurses-devel
yum install ncurses-devel
[root@CactiEZ htop-1.0.2]# yum install ncurses-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.tuna.tsinghua.edu.cn
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package ncurses-devel.i686 0:5.7-4.20090207.el6 set to be updated
--> Processing Dependency: ncurses-libs = 5.7-4.20090207.el6 for package: ncurses-devel-5.7-4.20090207.el6.i686
--> Processing Dependency: pkgconfig for package: ncurses-devel-5.7-4.20090207.el6.i686
--> Processing Dependency: /usr/bin/pkg-config for package: ncurses-devel-5.7-4.20090207.el6.i686
--> Running transaction check
---> Package ncurses-libs.i686 0:5.7-4.20090207.el6 set to be updated
--> Processing Dependency: ncurses-base = 5.7-4.20090207.el6 for package: ncurses-libs-5.7-4.20090207.el6.i686
---> Package pkgconfig.i686 1:0.23-9.1.el6 set to be updated
--> Running transaction check
---> Package ncurses-base.i686 0:5.7-4.20090207.el6 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
========================================================================================================================================
Package Arch Version Repository Size
========================================================================================================================================
Installing:
ncurses-devel i686 5.7-4.20090207.el6 base 641 k
Installing for dependencies:
pkgconfig i686 1:0.23-9.1.el6 base 67 k
Updating for dependencies:
ncurses-base i686 5.7-4.20090207.el6 base 61 k
ncurses-libs i686 5.7-4.20090207.el6 base 249 k
Transaction Summary
========================================================================================================================================
Install 2 Package(s)
Upgrade 2 Package(s)
Total download size: 1.0 M
Is this ok [y/N]: y
Downloading Packages:
(1/4): ncurses-base-5.7-4.20090207.el6.i686.rpm | 61 kB 00:00
(2/4): ncurses-devel-5.7-4.20090207.el6.i686.rpm | 641 kB 00:01
(3/4): ncurses-libs-5.7-4.20090207.el6.i686.rpm | 249 kB 00:00
(4/4): pkgconfig-0.23-9.1.el6.i686.rpm | 67 kB 00:00
----------------------------------------------------------------------------------------------------------------------------------------
Total 320 kB/s | 1.0 MB 00:03
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : ncurses-base-5.7-4.20090207.el6.i686 1/6
Updating : ncurses-libs-5.7-4.20090207.el6.i686 2/6
Installing : 1:pkgconfig-0.23-9.1.el6.i686 3/6
Installing : ncurses-devel-5.7-4.20090207.el6.i686 4/6
Cleanup : ncurses-libs-5.7-3.20090208.el6.i686 5/6
Cleanup : ncurses-base-5.7-3.20090208.el6.i686 6/6
Installed:
ncurses-devel.i686 0:5.7-4.20090207.el6
Dependency Installed:
pkgconfig.i686 1:0.23-9.1.el6
Dependency Updated:
ncurses-base.i686 0:5.7-4.20090207.el6 ncurses-libs.i686 0:5.7-4.20090207.el6
Complete!
[root@CactiEZ htop-1.0.2]#
从新执行./configure
而后,make构建各类二进制文件
[root@CactiEZ htop-1.0.2]# make make all-am make[1]: Entering directory `/htop-1.0.2' gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-AvailableMetersPanel.o -MD -MP -MF .deps/htop-AvailableMetersPanel.Tpo -c -o htop-AvailableMetersPanel.o `test -f 'AvailableMetersPanel.c' || echo './'`AvailableMetersPanel.c mv -f .deps/htop-AvailableMetersPanel.Tpo .deps/htop-AvailableMetersPanel.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-CategoriesPanel.o -MD -MP -MF .deps/htop-CategoriesPanel.Tpo -c -o htop-CategoriesPanel.o `test -f 'CategoriesPanel.c' || echo './'`CategoriesPanel.c mv -f .deps/htop-CategoriesPanel.Tpo .deps/htop-CategoriesPanel.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-CheckItem.o -MD -MP -MF .deps/htop-CheckItem.Tpo -c -o htop-CheckItem.o `test -f 'CheckItem.c' || echo './'`CheckItem.c mv -f .deps/htop-CheckItem.Tpo .deps/htop-CheckItem.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-ClockMeter.o -MD -MP -MF .deps/htop-ClockMeter.Tpo -c -o htop-ClockMeter.o `test -f 'ClockMeter.c' || echo './'`ClockMeter.c mv -f .deps/htop-ClockMeter.Tpo .deps/htop-ClockMeter.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-ColorsPanel.o -MD -MP -MF .deps/htop-ColorsPanel.Tpo -c -o htop-ColorsPanel.o `test -f 'ColorsPanel.c' || echo './'`ColorsPanel.c mv -f .deps/htop-ColorsPanel.Tpo .deps/htop-ColorsPanel.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-ColumnsPanel.o -MD -MP -MF .deps/htop-ColumnsPanel.Tpo -c -o htop-ColumnsPanel.o `test -f 'ColumnsPanel.c' || echo './'`ColumnsPanel.c mv -f .deps/htop-ColumnsPanel.Tpo .deps/htop-ColumnsPanel.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-CPUMeter.o -MD -MP -MF .deps/htop-CPUMeter.Tpo -c -o htop-CPUMeter.o `test -f 'CPUMeter.c' || echo './'`CPUMeter.c mv -f .deps/htop-CPUMeter.Tpo .deps/htop-CPUMeter.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-CRT.o -MD -MP -MF .deps/htop-CRT.Tpo -c -o htop-CRT.o `test -f 'CRT.c' || echo './'`CRT.c mv -f .deps/htop-CRT.Tpo .deps/htop-CRT.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-DisplayOptionsPanel.o -MD -MP -MF .deps/htop-DisplayOptionsPanel.Tpo -c -o htop-DisplayOptionsPanel.o `test -f 'DisplayOptionsPanel.c' || echo './'`DisplayOptionsPanel.c mv -f .deps/htop-DisplayOptionsPanel.Tpo .deps/htop-DisplayOptionsPanel.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-FunctionBar.o -MD -MP -MF .deps/htop-FunctionBar.Tpo -c -o htop-FunctionBar.o `test -f 'FunctionBar.c' || echo './'`FunctionBar.c mv -f .deps/htop-FunctionBar.Tpo .deps/htop-FunctionBar.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-Hashtable.o -MD -MP -MF .deps/htop-Hashtable.Tpo -c -o htop-Hashtable.o `test -f 'Hashtable.c' || echo './'`Hashtable.c mv -f .deps/htop-Hashtable.Tpo .deps/htop-Hashtable.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-Header.o -MD -MP -MF .deps/htop-Header.Tpo -c -o htop-Header.o `test -f 'Header.c' || echo './'`Header.c mv -f .deps/htop-Header.Tpo .deps/htop-Header.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-htop.o -MD -MP -MF .deps/htop-htop.Tpo -c -o htop-htop.o `test -f 'htop.c' || echo './'`htop.c mv -f .deps/htop-htop.Tpo .deps/htop-htop.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-ListItem.o -MD -MP -MF .deps/htop-ListItem.Tpo -c -o htop-ListItem.o `test -f 'ListItem.c' || echo './'`ListItem.c mv -f .deps/htop-ListItem.Tpo .deps/htop-ListItem.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-LoadAverageMeter.o -MD -MP -MF .deps/htop-LoadAverageMeter.Tpo -c -o htop-LoadAverageMeter.o `test -f 'LoadAverageMeter.c' || echo './'`LoadAverageMeter.c mv -f .deps/htop-LoadAverageMeter.Tpo .deps/htop-LoadAverageMeter.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-MemoryMeter.o -MD -MP -MF .deps/htop-MemoryMeter.Tpo -c -o htop-MemoryMeter.o `test -f 'MemoryMeter.c' || echo './'`MemoryMeter.c mv -f .deps/htop-MemoryMeter.Tpo .deps/htop-MemoryMeter.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-Meter.o -MD -MP -MF .deps/htop-Meter.Tpo -c -o htop-Meter.o `test -f 'Meter.c' || echo './'`Meter.c mv -f .deps/htop-Meter.Tpo .deps/htop-Meter.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-MetersPanel.o -MD -MP -MF .deps/htop-MetersPanel.Tpo -c -o htop-MetersPanel.o `test -f 'MetersPanel.c' || echo './'`MetersPanel.c mv -f .deps/htop-MetersPanel.Tpo .deps/htop-MetersPanel.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-Object.o -MD -MP -MF .deps/htop-Object.Tpo -c -o htop-Object.o `test -f 'Object.c' || echo './'`Object.c mv -f .deps/htop-Object.Tpo .deps/htop-Object.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-Panel.o -MD -MP -MF .deps/htop-Panel.Tpo -c -o htop-Panel.o `test -f 'Panel.c' || echo './'`Panel.c mv -f .deps/htop-Panel.Tpo .deps/htop-Panel.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-BatteryMeter.o -MD -MP -MF .deps/htop-BatteryMeter.Tpo -c -o htop-BatteryMeter.o `test -f 'BatteryMeter.c' || echo './'`BatteryMeter.c mv -f .deps/htop-BatteryMeter.Tpo .deps/htop-BatteryMeter.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-Process.o -MD -MP -MF .deps/htop-Process.Tpo -c -o htop-Process.o `test -f 'Process.c' || echo './'`Process.c mv -f .deps/htop-Process.Tpo .deps/htop-Process.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-ProcessList.o -MD -MP -MF .deps/htop-ProcessList.Tpo -c -o htop-ProcessList.o `test -f 'ProcessList.c' || echo './'`ProcessList.c mv -f .deps/htop-ProcessList.Tpo .deps/htop-ProcessList.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-RichString.o -MD -MP -MF .deps/htop-RichString.Tpo -c -o htop-RichString.o `test -f 'RichString.c' || echo './'`RichString.c mv -f .deps/htop-RichString.Tpo .deps/htop-RichString.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-ScreenManager.o -MD -MP -MF .deps/htop-ScreenManager.Tpo -c -o htop-ScreenManager.o `test -f 'ScreenManager.c' || echo './'`ScreenManager.c mv -f .deps/htop-ScreenManager.Tpo .deps/htop-ScreenManager.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-Settings.o -MD -MP -MF .deps/htop-Settings.Tpo -c -o htop-Settings.o `test -f 'Settings.c' || echo './'`Settings.c mv -f .deps/htop-Settings.Tpo .deps/htop-Settings.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-IOPriorityPanel.o -MD -MP -MF .deps/htop-IOPriorityPanel.Tpo -c -o htop-IOPriorityPanel.o `test -f 'IOPriorityPanel.c' || echo './'`IOPriorityPanel.c mv -f .deps/htop-IOPriorityPanel.Tpo .deps/htop-IOPriorityPanel.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-SignalsPanel.o -MD -MP -MF .deps/htop-SignalsPanel.Tpo -c -o htop-SignalsPanel.o `test -f 'SignalsPanel.c' || echo './'`SignalsPanel.c mv -f .deps/htop-SignalsPanel.Tpo .deps/htop-SignalsPanel.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-String.o -MD -MP -MF .deps/htop-String.Tpo -c -o htop-String.o `test -f 'String.c' || echo './'`String.c mv -f .deps/htop-String.Tpo .deps/htop-String.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-SwapMeter.o -MD -MP -MF .deps/htop-SwapMeter.Tpo -c -o htop-SwapMeter.o `test -f 'SwapMeter.c' || echo './'`SwapMeter.c mv -f .deps/htop-SwapMeter.Tpo .deps/htop-SwapMeter.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-TasksMeter.o -MD -MP -MF .deps/htop-TasksMeter.Tpo -c -o htop-TasksMeter.o `test -f 'TasksMeter.c' || echo './'`TasksMeter.c mv -f .deps/htop-TasksMeter.Tpo .deps/htop-TasksMeter.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-TraceScreen.o -MD -MP -MF .deps/htop-TraceScreen.Tpo -c -o htop-TraceScreen.o `test -f 'TraceScreen.c' || echo './'`TraceScreen.c mv -f .deps/htop-TraceScreen.Tpo .deps/htop-TraceScreen.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-UptimeMeter.o -MD -MP -MF .deps/htop-UptimeMeter.Tpo -c -o htop-UptimeMeter.o `test -f 'UptimeMeter.c' || echo './'`UptimeMeter.c mv -f .deps/htop-UptimeMeter.Tpo .deps/htop-UptimeMeter.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-UsersTable.o -MD -MP -MF .deps/htop-UsersTable.Tpo -c -o htop-UsersTable.o `test -f 'UsersTable.c' || echo './'`UsersTable.c mv -f .deps/htop-UsersTable.Tpo .deps/htop-UsersTable.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-Vector.o -MD -MP -MF .deps/htop-Vector.Tpo -c -o htop-Vector.o `test -f 'Vector.c' || echo './'`Vector.c mv -f .deps/htop-Vector.Tpo .deps/htop-Vector.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-AvailableColumnsPanel.o -MD -MP -MF .deps/htop-AvailableColumnsPanel.Tpo -c -o htop-AvailableColumnsPanel.o `test -f 'AvailableColumnsPanel.c' || echo './'`AvailableColumnsPanel.c mv -f .deps/htop-AvailableColumnsPanel.Tpo .deps/htop-AvailableColumnsPanel.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-AffinityPanel.o -MD -MP -MF .deps/htop-AffinityPanel.Tpo -c -o htop-AffinityPanel.o `test -f 'AffinityPanel.c' || echo './'`AffinityPanel.c mv -f .deps/htop-AffinityPanel.Tpo .deps/htop-AffinityPanel.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-HostnameMeter.o -MD -MP -MF .deps/htop-HostnameMeter.Tpo -c -o htop-HostnameMeter.o `test -f 'HostnameMeter.c' || echo './'`HostnameMeter.c mv -f .deps/htop-HostnameMeter.Tpo .deps/htop-HostnameMeter.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-OpenFilesScreen.o -MD -MP -MF .deps/htop-OpenFilesScreen.Tpo -c -o htop-OpenFilesScreen.o `test -f 'OpenFilesScreen.c' || echo './'`OpenFilesScreen.c mv -f .deps/htop-OpenFilesScreen.Tpo .deps/htop-OpenFilesScreen.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-Affinity.o -MD -MP -MF .deps/htop-Affinity.Tpo -c -o htop-Affinity.o `test -f 'Affinity.c' || echo './'`Affinity.c mv -f .deps/htop-Affinity.Tpo .deps/htop-Affinity.Po gcc -DHAVE_CONFIG_H -I. -DNDEBUG -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT htop-IOPriority.o -MD -MP -MF .deps/htop-IOPriority.Tpo -c -o htop-IOPriority.o `test -f 'IOPriority.c' || echo './'`IOPriority.c mv -f .deps/htop-IOPriority.Tpo .deps/htop-IOPriority.Po /bin/sh ./libtool --tag=CC --mode=link gcc -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -o htop htop-AvailableMetersPanel.o htop-CategoriesPanel.o htop-CheckItem.o htop-ClockMeter.o htop-ColorsPanel.o htop-ColumnsPanel.o htop-CPUMeter.o htop-CRT.o htop-DisplayOptionsPanel.o htop-FunctionBar.o htop-Hashtable.o htop-Header.o htop-htop.o htop-ListItem.o htop-LoadAverageMeter.o htop-MemoryMeter.o htop-Meter.o htop-MetersPanel.o htop-Object.o htop-Panel.o htop-BatteryMeter.o htop-Process.o htop-ProcessList.o htop-RichString.o htop-ScreenManager.o htop-Settings.o htop-IOPriorityPanel.o htop-SignalsPanel.o htop-String.o htop-SwapMeter.o htop-TasksMeter.o htop-TraceScreen.o htop-UptimeMeter.o htop-UsersTable.o htop-Vector.o htop-AvailableColumnsPanel.o htop-AffinityPanel.o htop-HostnameMeter.o htop-OpenFilesScreen.o htop-Affinity.o htop-IOPriority.o -lncursesw -lm libtool: link: gcc -pedantic -Wall -Wextra -std=c99 -rdynamic -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -o htop htop-AvailableMetersPanel.o htop-CategoriesPanel.o htop-CheckItem.o htop-ClockMeter.o htop-ColorsPanel.o htop-ColumnsPanel.o htop-CPUMeter.o htop-CRT.o htop-DisplayOptionsPanel.o htop-FunctionBar.o htop-Hashtable.o htop-Header.o htop-htop.o htop-ListItem.o htop-LoadAverageMeter.o htop-MemoryMeter.o htop-Meter.o htop-MetersPanel.o htop-Object.o htop-Panel.o htop-BatteryMeter.o htop-Process.o htop-ProcessList.o htop-RichString.o htop-ScreenManager.o htop-Settings.o htop-IOPriorityPanel.o htop-SignalsPanel.o htop-String.o htop-SwapMeter.o htop-TasksMeter.o htop-TraceScreen.o htop-UptimeMeter.o htop-UsersTable.o htop-Vector.o htop-AvailableColumnsPanel.o htop-AffinityPanel.o htop-HostnameMeter.o htop-OpenFilesScreen.o htop-Affinity.o htop-IOPriority.o -lncursesw -lm make[1]: Leaving directory `/htop-1.0.2' [root@CactiEZ htop-1.0.2]#
安装完成。
键入htop 命令,打开htop。
左边部分从上至下,分别为,cpu、内存、交换分区的使用状况,右边部分为:Tasks为进程总数,当前运行的进程数、Load average为系统1分钟,5分钟,10分钟的平均负载状况、Uptime为系统运行的时间。
,就是进程实时情况。
下面是 F1~F10 的功能和对应的字母快捷键。
Shortcut Key | Function Key | Description | 中文说明 |
h, ? | F1 | Invoke htop Help | 查看htop使用说明 |
S | F2 | Htop Setup Menu | htop 设定 |
/ | F3 | Search for a Process | 搜索进程 |
\ | F4 | Incremental process filtering | 增量进程过滤器 |
t | F5 | Tree View | 显示树形结构 |
<, > | F6 | Sort by a column | 选择排序方式 |
[ | F7 | Nice - (change priority) | 可减小nice值,这样就能够提升对应进程的优先级 |
] | F8 | Nice + (change priority) | 可增长nice值,这样就能够下降对应进程的优先级 |
k | F9 | Kill a Process | 可对进程传递信号 |
q | F10 | Quit htop | 结束htop |
如下命令行选项(COMMAND-LINE OPTIONS)
如下交互式命令(INTERACTIVE COMMANDS)
3.1. 显示自带帮助
鼠标点击Help或者按F1 显示自带帮助
3.2. htop 设定
鼠标点击Setup或者按下F2 以后进入htop 设定的页面,Meters 页面设定了顶端的一些信息显示,顶端的显示又分为左右两侧,到底能显示些什么能够在最右侧那栏新增,要新增到上方左侧(F5)或是右侧(F6)均可以,这就是我的设定的范围了。这里多加了一个时钟。
......