Christian Göttsche
c408add108
Linux: add reset to heuristic
...
On hard to parse command lines tokenStart might be computed to be bigger
than tokenEnd.
Reset both values in such cases.
2021-05-25 18:20:09 +02:00
Christian Göttsche
550a141860
Add ELAPSED process column
...
Add process columns showing the elapsed time since the process was
started.
Similar to STARTTIME, but shows the time passed since the process start
instead of the fixed start time of the process.
Closes https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=782636
2021-05-23 15:43:23 +02:00
Christian Göttsche
3d5b6d9282
Fix assert failure on short running thread
...
The following assert failure might happen on short running threads with
an empty comm value in /proc/${pid}/stat:
htop: Process.c:1159: void Process_updateCmdline(Process *, const char *, int, int): Assertion `(cmdline && basenameStart < (int)strlen(cmdline)) || (!cmdline && basenameStart == 0)' failed.
The specific task is:
comm=''
exe='(null)'
cmdline='/usr/bin/ruby /usr/bin/how-can-i-help --apt'
So basenameStart is 0, while strlen(cmdline) is also 0.
2021-05-23 15:25:23 +02:00
Benny Baumann
771a1be316
Update documentation for basename coloring of cmdline/exe columns
2021-05-23 09:30:36 +02:00
Benny Baumann
51ecc62d92
Force update when executable was recently deleted/replaced
2021-05-23 09:30:36 +02:00
Benny Baumann
bf07c713ba
Allow for highlighting of deleted executables to be configured
...
Fixes #383
2021-05-23 09:30:36 +02:00
Christian Göttsche
d9feff150c
Solaris: add EXE and COMM columns and use merged command line helpers
2021-05-23 09:22:21 +02:00
Christian Göttsche
72724d42f3
DragonFlyBSD: add EXE and COMM columns and use merged command line helpers
2021-05-23 09:22:21 +02:00
Christian Göttsche
d445676f09
OpenBSD: add COMM column and use merged command line helpers
2021-05-23 09:22:21 +02:00
Christian Göttsche
4da618030c
FreeBSD: add EXE and COMM columns and use merged command line helpers
2021-05-23 09:22:21 +02:00
Christian Göttsche
8ff4eb72ac
Darwin: use merged command line helpers
2021-05-23 09:22:21 +02:00
Christian Göttsche
7892ac68fb
Linux: use merge command line helpers
2021-05-23 09:22:21 +02:00
Christian Göttsche
6ad4f345dc
Unsupported: use merge command line helpers
2021-05-23 09:22:21 +02:00
Christian Göttsche
05fb681d5c
Process: add convenience helper functions to update merged command line related data
2021-05-23 09:22:21 +02:00
Christian Göttsche
7c654559c9
Linux: drop obsolete code now in Process_writeField
2021-05-23 09:22:21 +02:00
Benny Baumann
7ef58f2dcf
Drop mc->maxLen field
2021-05-23 09:22:21 +02:00
Benny Baumann
2824e2989a
Reduce code duplication for nearly identical code-paths
2021-05-23 09:22:21 +02:00
Benny Baumann
9a78155e17
Properly brace macro arguments
2021-05-23 09:22:21 +02:00
Benny Baumann
aa8552ba88
Move PROC_COMM/PROC_EXE column handling to global Process implementation
2021-05-23 09:22:21 +02:00
Benny Baumann
a61a2e6d47
Call makeCommandStr on all platforms
2021-05-23 09:22:21 +02:00
Benny Baumann
bcb18ef822
Move Process_makeCommandStr to global Process implementation
2021-05-23 09:22:21 +02:00
Benny Baumann
c0d0202440
Move LinuxProcess_getCommandStr to Process_getCommandStr
2021-05-23 09:22:21 +02:00
Benny Baumann
7224d0e083
Move kernel/userland thread handling to platform-independent implementation
2021-05-23 09:22:21 +02:00
Benny Baumann
1a1fddae85
Pre-calculate isUserlandThread flag
2021-05-23 09:22:21 +02:00
Benny Baumann
cdb660adab
Move mergeCommand to global process struct
2021-05-23 09:22:21 +02:00
Benny Baumann
94a52cb5c9
Rename cmdlineBasenameOffset to cmdlineBasenameEnd to properly indicate the fields purpose
2021-05-23 09:22:21 +02:00
Benny Baumann
666f70c58c
Move procCmdlineBasenameOffset as cmdlineBasenameStart to global Process structure
2021-05-23 09:22:21 +02:00
Benny Baumann
6dc485dd20
Remove duplicate field LinuxProcess->procCmdlineBasenameEnd
...
This field held practically the same value as cmdlineBasenameEnd
2021-05-23 09:22:21 +02:00
Benny Baumann
a685661866
Move procExeBasenameOffset to main Process structure
...
This drops procExeLen, as that field is implicit by strlen(Process->procExe)
2021-05-23 09:22:21 +02:00
Benny Baumann
93a44acf7e
Move procExeDeleted flag to main Process structure
2021-05-23 09:22:21 +02:00
Benny Baumann
b839987df7
Rename basenameOffset to cmdlineBasenameOffset
2021-05-23 09:22:21 +02:00
Benny Baumann
d74e8b7554
Move procComm and procExe to main Process structure
2021-05-23 09:22:21 +02:00
Benny Baumann
10790f0a54
Process: Put the time field more to the end
2021-05-23 09:22:21 +02:00
Benny Baumann
02431c43e1
Rename command line field from comm to cmdline
2021-05-23 09:22:21 +02:00
Benny Baumann
fbec3e4005
Refactor makeCommandStr
2021-05-23 09:22:21 +02:00
Benny Baumann
07a4657a47
DragonFlyBSD: Fix included headers
2021-05-22 18:16:11 +02:00
Benny Baumann
2c8353e7cf
DragonFlyBSD: Indentation and formatting fixes
2021-05-21 22:42:00 +02:00
Christian Göttsche
ee9e7edbc1
Solaris: handle ERR macro redefinitions
...
On OmniOS /usr/include/sys/regset.h redefines ERR to 13 - \r, breaking
the Enter key.
Since ncruses macros use the ERR macro, we can not use another name.
Closes : #634
2021-05-20 19:16:29 +02:00
Christian Göttsche
a62987c787
Solaris: improve process columns
...
- fill tty name
- fill session id
- show real tgid not adjusted
- drop unimplemented TPGID, MINFLT and MAJFLT
- adjust header width of ZONEID, which get auto-adjusted as a pid-column
2021-05-20 17:54:40 +02:00
Christian Göttsche
013d2efa51
Solaris: correct process env memory handling
...
Allow strncpy to NUL-terminate the buffer and do not return a non free-
able string literal.
2021-05-20 16:43:40 +02:00
Christian Göttsche
27be880d0f
Solaris: reduce function scopes
2021-05-20 16:43:40 +02:00
Christian Göttsche
6b57898034
Solaris: reduce variable scope
...
Also check for getloadavg(3c) failure
2021-05-20 16:43:40 +02:00
Christian Göttsche
906dcf5cb3
Solaris: silence signed comparison
2021-05-20 16:43:40 +02:00
Christian Göttsche
8f34225a49
Solaris: fix includes
2021-05-20 16:43:40 +02:00
Christian Göttsche
fdda291a0e
Solaris: add kstat lookup wrappers
...
The system interfaces kstat_lookup() and kstat_data_lookup() take a
non-constant string parameter, but passing string literals is valid.
Add wrapper functions to ignore all the const-discard warnings.
2021-05-20 16:43:40 +02:00
Christian Göttsche
4676e35f42
DragonFlyBSD: fixup columns
2021-05-19 17:53:14 +02:00
Christian Göttsche
69cfaf2381
configure: ignore warning about delay accounting on non-Linux platform
...
If pkg-config is not installed the following message gets printed, even
on non Linux platform:
"Linux delay accounting support can not be enabled, cause pkg-config is
required for checking its availability"
2021-05-16 20:01:25 +02:00
Christian Göttsche
d2ee40597c
Use STDERR_FILENO instead of magic number
2021-05-16 19:55:51 +02:00
Christian Göttsche
1f5f40c091
Print current settings on crash
2021-05-16 19:55:31 +02:00
Daniel Lange
204bc710ba
Adjust to current label reality and the fact that Github can't search for multiple labels ORed ... yet.
...
Has been only five years ... https://github.com/isaacs/github/issues/660
2021-05-14 11:29:29 +02:00