Commit Graph

3721 Commits

Author SHA1 Message Date
Craig Small
c2e69b34a7 NEWS: Add notice for pidof -q 2020-12-22 14:32:03 +11:00
Matteo Croce
b067ecc886 pidof: allow to suppress output
Often pidof is used in shell scripts in this form:

    if pidof daemon >/dev/null; then
        ...
    fi

The redirection to /dev/null is needed because otherwise the script
would output the found PIDs.
Let's add a -q option which, similary to grep, just sets the exit code.
Also exit on first match, as there is no reason to proceed further when
at least a process is matched.

Tested with:

    $ ./pidof bash
    17701 14019 5276 2967
    $ echo $?
    0
    $ ./pidof bashx
    $ echo $?
    1
    $ ./pidof -q bash
    $ echo $?
    0
    $ ./pidof -q bashx
    $ echo $?
    1
2020-12-22 14:31:17 +11:00
Craig Small
6bbb0bfc80 pgrep: fix missed change
I missed one change from the commit in the master branch meaning
pgrep would not compile.

References:
 commit c8384e682c
2020-12-22 14:25:56 +11:00
Raphaël Jakse
79097e55e4 kill: Fix argument handling for negative PIDs 2020-12-22 03:16:47 +00:00
Craig Small
a55946a7a3 misc: Add watch extra colours to NEWS 2020-12-22 14:13:45 +11:00
Nipunn Koorapati
418631d7f3 Supporting bright colors with ncurses 2020-12-22 14:12:32 +11:00
Nipunn Koorapati
7c64daa095 Add comments and limit to standard colors 2020-12-22 14:10:11 +11:00
Nipunn Koorapati
64d35921ba bugfix - increment endpointer when parsing color_escape_sequence 2020-12-22 14:08:50 +11:00
Craig Small
5c55464aab Merge branch 'nipunn1313/procps-watch_colors2'
References:
 procps-ng/procps!109
2020-12-22 13:54:50 +11:00
Nipunn Koorapati
3549f49df0 Supporting bright colors with ncurses 2020-12-22 13:53:04 +11:00
Nipunn Koorapati
a23c941d8b Support simple 8 bit ansi escape sequences
See https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit
Support standard and high intensity colors. The default
ncurses colors ARE the high intensity colors - represented
via an 8 bit ansi escape sequence here.
2020-12-22 13:53:00 +11:00
Craig Small
6285bdd3b5 Merge branch 'nipunn1313/procps-watch_colors'
References:
 procps-ng/procps!106
2020-12-22 13:48:15 +11:00
Nipunn Koorapati
ffa556633f Spaces to tabs 2020-12-22 13:44:54 +11:00
Nipunn Koorapati
a3a5db1311 Add comments and limit to standard colors 2020-12-22 13:43:30 +11:00
Nipunn Koorapati
8d0928f072 bugfix - increment endpointer when parsing color_escape_sequence 2020-12-22 13:43:30 +11:00
Nipunn Koorapati
486a3e30e1 Support simple 8 bit ansi escape sequences
See https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit
Support standard and high intensity colors. The default
ncurses colors ARE the high intensity colors - represented
via an 8 bit ansi escape sequence here.
2020-12-22 13:43:25 +11:00
Craig Small
e2470edc8c Merge branch 'antonblanchard/procps-proc-stat-buffer'
References:
 procps-ng/procps!105
2020-12-22 13:18:58 +11:00
Anton Blanchard
1b9ea61116 Increase BUFFSIZE to handle very large /proc/stat files
We read /proc/stat using a statically sized buffer. This was increased
to 64kB in 2005 via commit 777fcd3cf1 "/proc/stat for 1024 CPUs".

Unfortunately in 2020, 1024 CPUs is not enough for anyone. I have a
large machine where /proc/stat is 74kB, and vmstat gives incorrect
output.

Double the buffer to 128kB in the confidence that 2048 CPUs is actually
enough for anyone.

Signed-off-by: Anton Blanchard <anton@ozlabs.org>
2020-12-22 13:18:44 +11:00
Craig Small
4825797d97 testsuite: Add pwait tests
They're pretty simple tests but its something.

References:
  commit 09327c2b77
2020-12-22 13:14:02 +11:00
Alex Xu (Hello71)
c8384e682c pgrep: add pwait 2020-12-22 13:13:32 +11:00
Craig Small
4a54ae97a0 testsuite: Add pwait tests
They're pretty simple tests but its something.

References:
  commit 09327c2b77
2020-12-22 12:25:44 +11:00
Craig Small
980983db74 Merge branch 'alxu/procps-pwait'
New command, pwait! Waits for another process to finish just like
pgrep finds or pkill kills another process.

References:
 procps-ng/procps!97

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2020-12-22 12:16:09 +11:00
Alex Xu (Hello71)
09327c2b77 pgrep: add pwait 2020-12-22 12:09:16 +11:00
Craig Small
03fac47bd2 Merge branch 'nipunn1313/procps-spaces_to_tabs'
References:
 procps-ng/procps!108
2020-12-22 11:55:10 +11:00
Nipunn Koorapati
5d155068ce Convert spaces to tabs in watch.c 2020-12-22 11:54:52 +11:00
Nipunn Koorapati
9f33a6bcd0 watch: Support wide char ncurses on mac with enable-watch8bit
Fixes #47
2020-12-22 11:53:12 +11:00
Craig Small
9c4ad4c419 Merge branch 'nipunn1313/procps-configure_ncurses'
Macs have the wide stuff in the ncurses (not ncursesw) library.

References:
 procps-ng/procps!110
 procps-ng/procps#47
2020-12-22 11:45:47 +11:00
Nipunn Koorapati
e0f47aab1c watch: Support wide char ncurses on mac with enable-watch8bit
Fixes #47
2020-12-22 11:45:20 +11:00
Samanta Navarro
9b0c5dd00b misc: fix typos in manual pages
Signed-off-by: Samanta Navarro <ferivoz@riseup.net>
2020-12-22 11:40:23 +11:00
Samanta Navarro
b0c8e3408b misc: fix typos in manual pages
Signed-off-by: Samanta Navarro <ferivoz@riseup.net>
2020-12-22 00:37:29 +00:00
Jan Rybar
1a66433371 pkill manpage to document '-e' option 2020-12-22 11:36:47 +11:00
Jan Rybar
584c65ba37 pkill manpage to document '-e' option 2020-12-22 00:30:50 +00:00
Craig Small
ffcf9aa394 build-sys: Remove refs to old manpage
I removed the old man pages but didn't remove their references in
the Makefile

References:
 commit a978f68c06
 commit 770505ded4
 commit 7246249b8c
2020-12-22 11:27:17 +11:00
Jan Rybar
b568f9f2b7 pidof: new option to show cmdline-less PIDs (kernel workers), empty input fixed 2020-12-22 11:26:42 +11:00
Jan Rybar
bf6c096dbd pidof: new option to show cmdline-less PIDs (kernel workers), empty input fixed 2020-12-22 00:14:41 +00:00
Stephen Brennan
518547742b Set TZ to avoid repeated stat("/etc/localtime")
With glibc, each time the strftime() function is used (twice per process
in a typical ps -fe run), a stat("/etc/localtime") system call is used
to determine the timezone. Not only does this add extra system call
overhead, but when multiple ps processes are trying to access this
file (or multiple glibc programs using strftime) in parallel, this can
trigger significant lock contention within the OS kernel.

Since ps is not intended to run for long periods of time as a
daemon (during which the system timezone could be altered and PS might
reasonably be expected to adapt its output), there is no benefit to
repeatedly doing this stat(). To stop this behavior, explicitly set the
TZ variable to its default value (:/etc/localtime) whenever it is unset.
glibc will then cache the stat() result.
2020-12-22 11:09:44 +11:00
Craig Small
a04ea67d6f Merge branch 'brenns10/procps-master'
References:
 procps-ng/procps!119
2020-12-22 11:08:52 +11:00
Stephen Brennan
31343570e1 Set TZ to avoid repeated stat("/etc/localtime")
With glibc, each time the strftime() function is used (twice per process
in a typical ps -fe run), a stat("/etc/localtime") system call is used
to determine the timezone. Not only does this add extra system call
overhead, but when multiple ps processes are trying to access this
file (or multiple glibc programs using strftime) in parallel, this can
trigger significant lock contention within the OS kernel.

Since ps is not intended to run for long periods of time as a
daemon (during which the system timezone could be altered and PS might
reasonably be expected to adapt its output), there is no benefit to
repeatedly doing this stat(). To stop this behavior, explicitly set the
TZ variable to its default value (:/etc/localtime) whenever it is unset.
glibc will then cache the stat() result.
2020-12-22 11:08:36 +11:00
ivan tkachenko
96f8f3532c docs: Consistent style across watch.1 2020-12-22 11:04:50 +11:00
Craig Small
930dad118e Merge branch 'ratijas/procps-man-watch'
References:
 procps-ng/procps!121
2020-12-22 11:03:57 +11:00
ivan tkachenko
bfaa431052 docs: Consistent style across watch.1 2020-12-22 11:02:58 +11:00
Craig Small
90dd80781f misc: Document sysctl change bug
While sysctl did change the order of /run and /etc to match
systemd in the referenced commit, the Debian bug report that
brought it to light was not documented.

References:
 commit 24a1574f0a
 https://bugs.debian.org/950788
2020-12-22 11:00:15 +11:00
Craig Small
fc93e2919d misc: Document sysctl change bug
While sysctl did change the order of /run and /etc to match
systemd in the referenced commit, the Debian bug report that
brought it to light was not documented.

References:
 commit 24a1574f0a
 https://bugs.debian.org/950788
2020-12-22 10:55:18 +11:00
Craig Small
a978f68c06 docs: Merge procps_uptime_* into procps_misc.3 2020-12-21 12:48:06 +11:00
Craig Small
8a9a1aef74 doc: fix typo in procps_misc 2020-12-21 12:43:00 +11:00
Craig Small
770505ded4 docs: Merge procps_ns_* into misc 2020-12-21 12:41:10 +11:00
Craig Small
7246249b8c docs: Merge procps_linux_version into misc 2020-12-21 12:32:57 +11:00
Craig Small
86957343b0 misc: Add test_nsutils to gitignore 2020-12-17 21:43:10 +11:00
Jim Warner
2a5b8658d2 top: a small safeguard added to the ATEOJ_RPTHSH logic
If a hash results report was output (via ATEOJ_RPTHSH)
a portion is devoted to occupied table entries ordered
by depth. There is a possibility that some depths will
not be found among existing occupied table entries and
to avoid any confusion probably should not be printed.

[ to illustrate the potential for confusion prior to ]
[ this patch, force a very small table size (like 8) ]
[ and then arrange to trigger the end-of-job report. ]

So this patch ensures only 'in use' entries are shown.

[ admittedly, all of the remaining logic in the loop ]
[ could/should be subordinate to this new 'if' test, ]
[ but we will keep the change to a minimum. besides, ]
[ there's no harm subtracting/adding a zero numdepth ]
[ especially since the chance of a zero is very low. ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
2020-10-24 18:29:13 +11:00
Jim Warner
f83348ba5f build-sys: a small tweak to the new 'check-lib' target
So as to not obscure the results from this new target,
we'll redirect that final 'make clean' output to null.

Signed-off-by: Jim Warner <james.warner@comcast.net>
2020-10-24 18:27:57 +11:00