Wataru Ashihara
b34d76cd41
Fix: infinite loop in tree view on macOS
...
Fixes #688 , the bug regressed on 584a9bc
.
On Mac OS X 10.11.6, all processes have their parents since there's a
special process named "kernel_task", whose PID and PPID are 0. As a
result, `this->processes` is never changed causing infinite `while`.
2018-02-04 16:51:06 +01:00
Hisham Muhammad
e3f65c8ec2
Make 'c' key work with threads as well.
2017-09-14 17:10:39 -03:00
Hisham Muhammad
b9934ffa08
minor style tweak
2017-09-04 13:53:03 -03:00
wangqr
584a9bceab
Find roots when constructing process tree, fix #587
2017-09-01 21:34:05 +08:00
Hisham
84a69b1ea4
Release resource when using hwloc
2016-02-29 21:57:27 -03:00
Hisham Muhammad
c18309466d
Pre-reset 'show' for process.
...
This simplifies the protocol between the platform-independent
and platform-specific parts. The platform-specific parts
were supposed to re-determine the value of process->show
on each iteration, and the Darwin subsystem wasn't doing that.
Instead of adding the code to the Darwin part, I lifted the
burden of the OS-specific of resetting process->show: now
they can choose to hide a process if they want to (e.g.
detecting kernel threads) but are not required to
(e.g. on Darwin where we're not listing threads separately (yet?)).
Fixes tree view collapsing/expanding on OSX. Closes #416 .
2016-02-18 14:32:49 -02:00
Hisham
474d26cea8
Portable affinity using hwloc
2016-02-14 19:57:29 -02:00
Hisham Muhammad
0507cd38f7
Merge pull request #43 from ErkiDerLoony/master
...
Fix tree view if userland threads are hidden.
2015-08-20 02:15:04 -03:00
Hisham Muhammad
ea18a50091
Merge pull request #134 from jeffgarrett/pid-selection
...
Interpret command line PIDs as PIDs, not TIDs
2015-08-20 01:20:21 -03:00
David Hunt
5e602f18d5
Rename String to StringUtils.
...
Fixes building on case-insensitive filesystems where String.h gets confused with <string.h>.
From d734dacea0a10d0465dad4e95b3421511e7da112 Mon Sep 17 00:00:00 2001
From: David Hunt <dhunt@iolanthe.attlocal.net>
Date: Sat, 11 Jul 2015 20:56:31 -0500
Subject: [PATCH 1/8] Rename String to StringUtils
2015-08-19 13:45:20 -03:00
Hisham Muhammad
b291fba02b
Fixes to use platform-specific compare routines.
2015-04-09 15:40:46 -03:00
Hisham Muhammad
b1f934c5d5
Visual tweaks: change color when following, add Broken Gray theme.
2015-04-09 15:17:20 -03:00
Hisham Muhammad
d880def0e9
Merge branch 'master' into wip
...
Conflicts:
Process.c
Process.h
htop.c
linux/LinuxProcess.c
linux/LinuxProcess.h
test_spec.lua
2015-04-02 01:57:37 -03:00
Hisham Muhammad
272e2d9b34
Major advances in FreeBSD port.
2015-03-16 23:02:03 -03:00
Hisham Muhammad
adbfe3c3f1
Get FreeBSD tree to compile again with latest changes.
2015-03-16 03:14:20 -03:00
Hisham Muhammad
e3fe3962cb
Move more Linux-specific code into Linux subdir.
2015-03-15 20:29:13 -03:00
Hisham Muhammad
6f868b00c0
Fix allocation of processes. Closes #166 .
2015-02-20 14:52:10 -02:00
Hisham Muhammad
3383d8e556
Sorry about the mega-patch.
...
This is a work-in-progress, code is currently broken.
(Some actions, and notably, the header, are missing.)
2015-01-21 23:27:31 -02:00
Hisham Muhammad
cda6bdd56b
Add ProcessList_delete to the variable interface.
2014-11-27 17:48:38 -02:00
Hisham Muhammad
aaaaf063a1
Builds on Linux again!
2014-11-24 19:22:50 -02:00
Hisham Muhammad
eb229d9aef
Changes for supporting separate platform subdirectories.
2014-11-24 18:55:03 -02:00
Hisham Muhammad
9faf4938b8
Refactored key handlers.
...
Made the logic more modular, hopefully easier to follow,
and removed repeated code.
Plus, some optimization in RichString code.
2014-11-19 23:17:52 -02:00
Jeff Garrett
ab0bceb550
Interpret command line PIDs as PIDs, not TIDs
2014-10-08 11:52:56 -05:00
yar
730ab0c9a8
pass processlist flags to readOpenVZData (fixes build error)
2014-05-04 09:43:45 -07:00
Hisham Muhammad
f54a37b4a9
Update values for fields whose columns may appear later. Fixes #80 .
2014-05-03 17:51:19 -03:00
Hisham Muhammad
e0209da88f
Support pagefaults stats. Closes #45 .
2014-04-24 19:40:47 -03:00
Hisham Muhammad
34b89a9747
Add sanity checks.
2014-04-24 12:15:56 -03:00
Hisham Muhammad
28d4cad5fe
xread may return -1.
2014-04-22 18:48:27 -03:00
Hisham Muhammad
f677843288
Restrict size of inputs on sscanf reads.
2014-04-21 19:17:57 -03:00
Hisham Muhammad
3fbd1ef76d
check return of topoErr
2014-04-21 19:17:46 -03:00
Hisham Muhammad
5b30280810
shorten scope of variables.
2014-04-21 19:00:35 -03:00
Hisham Muhammad
4027e5ee44
goto considered harmful and confuses cppcheck.
2014-04-21 18:55:58 -03:00
Hisham Muhammad
99bc23771f
Fix resource leak detected by cppcheck
2014-04-21 18:23:21 -03:00
Hisham Muhammad
4716a9857b
Fix logic for skipping non-numeric directories.
...
Closes #42 .
2014-04-11 20:17:07 -03:00
Edgar Kalkowski
c8be3701b8
Fix tree view if userland threads are hidden.
2014-04-11 13:45:24 +02:00
Hisham Muhammad
cb297af848
Fix invalid access when highlighting basename of threads.
2014-04-09 17:43:54 -03:00
Hisham Muhammad
f2a190b0e9
New logic for highlighting basenames with spaces
2014-02-27 17:11:23 -03:00
Hisham Muhammad
6d90e58c01
alignment improvements
2014-02-27 16:35:22 -03:00
Leigh Simpson
da236ca318
Added additional column to monitor OOM killer score of each process
2014-01-29 22:41:55 +00:00
Hisham Muhammad
76a715ee8c
Fix order of calloc arguments.
...
(Patch by Dawid Gajownik)
2014-01-16 18:51:16 -02:00
Hisham Muhammad
8ace29c267
Make CPU meter optionally account guest time in its percentages
2013-12-18 02:58:34 +00:00
Hisham Muhammad
af285d1d3b
Fixes in accounting of guest time when using virtualization
...
(thanks to Patrick Marlier)
2013-12-18 02:20:39 +00:00
Hisham Muhammad
6cfa9e0bf2
Performance improvements due to conditional parsing of IO data depending on selected fields.
...
On my machine, this gives a ~20% improvement in htop process time use with the default config.
2013-05-24 22:46:01 +00:00
Hisham Muhammad
322ba274ea
Performance improvements
...
(thanks to Jann Horn)
2013-04-29 23:00:15 +00:00
Hisham Muhammad
00b324bfc1
Changes in object model: separate class objects to store vtable. Also, nicer UTF-8 display of big numbers.
2012-12-05 15:12:20 +00:00
Hisham Muhammad
2a73405cd0
search and filter for the strace and lsof screens!
2012-11-10 00:31:37 +00:00
Hisham Muhammad
f44a8f2009
Option to update process names on every refresh
...
(thanks to Rob Hoelz)
2012-10-20 00:43:25 +00:00
Hisham Muhammad
1b21827f1f
Fail gracefully when /proc is not mounted
...
(thanks to Philipp Hagemeister)
2012-10-19 18:59:48 +00:00
Hisham Muhammad
47e881f460
Add IO priority support ('i' key)
2012-10-04 23:59:45 +00:00
Hisham Muhammad
e6c6d7fbf7
Add -p flag, contributed by Rob Hoelz
2012-08-10 21:54:41 +00:00
Hisham Muhammad
90d567531a
Fix CPU percentage. Patch 3522180 for bug 3516978, by Richard.
2012-05-28 00:47:05 +00:00
Hisham Muhammad
05a78c8111
Auto-follow process when selecting which signal to use when killing a process.
...
This avoids killing the wrong process.
2012-03-30 01:20:32 +00:00
Hisham Muhammad
1a604a05a5
BUGFIX: behavior of 'F' (follow) key was broken, also affecting the
...
persistence of mouse selections. Closes #3165065 .
2012-02-02 23:45:40 +00:00
Hisham Muhammad
45f7a4fc8d
Remove old memory debugging routines. We have Valgrind nowadays.
2011-12-26 22:04:29 +00:00
Hisham Muhammad
84281bdc44
major header cleanup
2011-12-26 21:35:57 +00:00
Hisham Muhammad
81e44312b4
Use strdup explicitly
2011-12-25 20:23:53 +00:00
Hisham Muhammad
bfd86a60cc
Keep panel structure up-to-date as process list changes when headers are updated during the screen manager. Hopefully closes #3444533 .
2011-12-01 12:31:57 +00:00
Hisham Muhammad
bc87a8ff8c
Remove bundled hwloc-1.2.1. Use either native Linux affinity support or an external libhwloc.
...
(for details see https://sourceforge.net/mailarchive/forum.php?thread_name=CAJpkDYeZpwqcWxZ77wq6bMrnhn-KzkU1xAqb3cU0drfnA3n9FQ%40mail.gmail.com&forum_name=htop-general )
2011-11-21 02:52:41 +00:00
Hisham Muhammad
7ca1081712
Mega-commit with features and tweaks for 1.0:
...
* Performance improvements
* Support for splitting CPU meters into two or four columns
(thanks to Wim Heirman)
* Switch from PLPA, which is now deprecated, to HWLOC.
* Bring back support for native Linux sched_setaffinity,
so we don't have to use HWLOC where we don't need to.
* Support for typing in user names and column fields in selection panels.
2011-11-18 06:08:56 +00:00
Hisham Muhammad
ca6b9238a3
Support for UTF-8 tree drawing
...
(thanks to Bin Guo)
2011-11-03 22:12:12 +00:00
Hisham Muhammad
d1b1cbc757
cleanups and fixes, thanks to cppcheck and gcc -Wextra
2011-10-25 00:05:46 +00:00
Hisham Muhammad
ec17b7029a
Convert affinity control from the deprecated PLPA to HWLOC
2011-09-24 00:30:47 +00:00
Hisham Muhammad
f7fe4b4722
Fix off-by-one error in PROCESSOR display
2011-09-08 02:48:53 +00:00
Hisham Muhammad
27b470e10d
Don't simply trust that string splits were successful...
2011-08-29 20:45:29 +00:00
Hisham Muhammad
9599e5650e
larger numbers
2011-05-26 16:32:05 +00:00
Hisham Muhammad
219bb9ccff
handle large values for process time
2011-03-28 19:06:06 +00:00
Hisham Muhammad
a9c0ea3753
* Option for counting CPUs from zero
...
(thanks to Sean Noonan)
* Meters update in every screen (no longer halting while on Setup, etc.)
2011-03-22 20:37:08 +00:00
Hisham Muhammad
8bdec7155e
show names of zombie processes properly
2011-03-17 04:26:28 +00:00
Hisham Muhammad
72dbb72b68
All processes where showing as belonging to 'root'. Fixed.
...
Thanks to Sven Hartrumpf for pointing this out in htop-0.9-rc2
2010-11-26 16:51:20 +00:00
Hisham Muhammad
5effb12e46
Fix behavior of expand/collapse-tree. Thanks Rob for the heads up!
2010-11-24 12:00:34 +00:00
Hisham Muhammad
941ad72f67
correct thread detection
2010-11-24 01:02:29 +00:00
Hisham Muhammad
831538b0f9
Split process and thread counts in tasks meter
2010-11-23 13:28:47 +00:00
Hisham Muhammad
d8e1480a27
Remove arbitrary limit from rich strings
...
Fix subtree hiding
Fix reading of CPU values in hidden threads
Fix hiding of zombie processes as kernel threads
Remove "debug proc" code
Code cleanup in processElements
2010-11-22 12:40:20 +00:00
Hisham Muhammad
10f007e07e
Fix for systems where there's no /proc/PID/task/PID/. Closes #2789634 .
2010-11-20 20:27:37 +00:00
Hisham Muhammad
45de5694ac
no need to pad values; provide a default on machines without cgroup
2010-10-30 19:30:19 +00:00
Hisham Muhammad
84ed4c01f6
Support for cgroups (thanks to Guillaume Zitta and Daniel Lezcano)
2010-10-30 19:24:07 +00:00
Hisham Muhammad
6486229308
add support for steal/guest CPU time measurement
...
simplify processor data accounting (add CPUData structure)
remove Process_clone trick
2010-08-24 23:20:38 +00:00
Hisham Muhammad
9eb912149e
expand/collapse tree
2010-06-17 19:02:03 +00:00
Hisham Muhammad
dc262f4df6
STARTTIME column
2010-03-29 18:36:11 +00:00
Hisham Muhammad
02a30bfecd
warning fixes
2010-02-25 01:43:18 +00:00
Hisham Muhammad
8f230920cd
show custom thread names
2010-02-25 01:37:31 +00:00
Hisham Muhammad
c9e59b4a33
minor tweaks by David Weber
2010-02-22 20:54:01 +00:00
Hisham Muhammad
1e124da059
coverity fixes
2009-10-16 20:03:18 +00:00
Hisham Muhammad
3b950e4189
BSD related fixes:
...
* BUGFIX: Correct page size calculation for FreeBSD systems
(thanks to Andrew Paulsen)
* Allow compilation without PLPA on systems that don't support it
(thanks to Timothy Redaelli)
2009-03-11 13:15:43 +00:00
Hisham Muhammad
b93e5c00b6
Rename VEID to CTID in OpenVZ systems
...
(thanks to Thorsten Schifferdecker)
2009-03-11 13:05:19 +00:00
Hisham Muhammad
dc38fc2da3
Fix missing tree view when userland threads are hidden
...
(thanks to Josh Stone)
2009-02-17 17:12:59 +00:00
Hisham Muhammad
0baba6d7b4
Fix for VPID on OpenVZ systems
...
(thanks to Wolfgang Frisch)
2009-02-17 15:36:43 +00:00
Hisham Muhammad
a2f6eea0c4
Remove assertion that fails on hardened kernels
...
(thanks to Wolfram Schlich for the report)
2008-09-23 06:29:03 +00:00
Hisham Muhammad
c3550e18e8
Avoid reading process IO info multiple times on multithreaded processes.
...
Bugfix from Gerhard Heift.
2008-09-23 05:56:15 +00:00
Hisham Muhammad
a5dfaa2393
Add Linux-VServer support,
...
contributed by Jonathan Sambrook and Benedikt Bohm
2008-09-23 04:31:13 +00:00
Hisham Muhammad
2338ad5820
Ability to change sort column with the mouse by
...
clicking column titles (click again to invert order).
Also, add a consolidated IO kbyte/s column.
2008-03-14 18:50:49 +00:00
Hisham Muhammad
da23c8c5a1
Clean up headers by using 'static' whenever possible.
...
Reduces resulting code size.
2008-03-09 08:58:38 +00:00
Hisham Muhammad
12f4f09e6e
Add support for Linux per-process IO statistics,
...
enabled with the --enable-taskstats flag, which
requires a kernel compiled with taskstats support.
Thanks to Tobias Oetiker!
2008-03-09 08:02:22 +00:00
Hisham Muhammad
8fa33dc336
Add Unicode support, enabled with the --enable-unicode
...
flag, which requires libncursesw.
Thanks to Sergej Pupykin!
2008-03-09 02:33:23 +00:00
Hisham Muhammad
93f091c47e
BUGFIX: Fix display of CPU count for threaded processes.
...
When user threads are hidden, process now shows the
sum of processor usage for all processors. When user
threads are displayed, each thread shows its own
processor usage, including the root thread.
(thanks to Bert Wesarg for the report)
Also, add option to display thread colors differently.
2008-03-08 23:39:48 +00:00
Hisham Muhammad
855d9eaf9a
IO-wait time now counts as idle time, which is a more
...
accurate description. It is still available in
split time, now called detailed CPU time.
(thanks to Samuel Thibault for the report)
2007-11-09 00:40:59 +00:00
Hisham Muhammad
a7c2aedcec
Improve construction of tree view, properly nesting threads.
...
Add CPU affinity screen ('a' key).
BUGFIX: Correct display of TPGID field.
Add TGID field.
2007-11-08 23:23:01 +00:00
Hisham Muhammad
4c51ad0e35
OpenVZ support, contributed by Sergey Lychko
2007-08-10 05:07:14 +00:00
Hisham Muhammad
d357c67717
Add support of NLWP field, by Bert Wesarg
2007-05-21 19:10:53 +00:00
Hisham Muhammad
b1e9d716f2
keep debug code up-to-date
2007-05-17 18:44:57 +00:00