summaryrefslogtreecommitdiff
path: root/man
Commit message (Collapse)AuthorAgeFilesLines
* misc: Update copyright of remaining man pagesCraig Small2023-02-0818-96/+164
| | | | | Giving them all a standard format and using either the existing header or the git logs to put the relevant authors in.
* misc: Update the copyrights for the ps and top sourcesJim Warner2023-02-082-4/+5
| | | | | | | This patch just follows Craig's lead for the remaining ps and top program files and associated man documents. Signed-off-by: Jim Warner <james.warner@comcast.net>
* top: make all man document apostrophe usage consistentJim Warner2023-01-241-17/+17
| | | | Signed-off-by: Jim Warner <james.warner@comcast.net>
* misc: eliminated some instances of trailing whitespaceJim Warner2023-01-241-3/+3
| | | | Signed-off-by: Jim Warner <james.warner@comcast.net>
* ps: Add configurable date format for lstart fieldCraig Small2023-01-181-8/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The lstart field has been converted to use the strftime() function so that it uses the locale. A new option -D allows the user to define the format that would want this field to show. This may mean the field will be longer than it should be, especially for French locales and the user defined field, but the field length can be specified too. --- This commit started off making all the relevant fields use the locale correctly so it could solve #226 as well. The issue is there an implied restriction (or not) around strftime("%b") and probably strftime("%a") for abbrievated month and day names respectively. English, and some/most other languages put an additional restriction that all abbreviations are 3 characters long. The problem is, not all languages do this. French is a good example: janv. févr. mars avril mai juin juil. août sept. oct. nov. déc. Maybe strip the . at the end? That helps for some months, not all Maybe take the first three characters? Several wide languages will have big issues Maybe convert wide, get wcslen then use that. Even after that June "juin" and July "juil" are both "jui". So, anything that uses the month (bsdstart,start) use ctime which doesn't use locale. That solves the length issue. stime does, which means it has this issue but its been like that for years. You get stuff like this: janv.13 482261 00:00 1151918 2022 1458628 06:12 1957584 The only way to fix that would be to a)Make the field two characters longer b)Convert it back to ctime() which means everyone else loses. This could have be oh-so easy if everyone made %b and %a three (wide) characters everywhere. References: procps-ng/procps#228 procps-ng/procps#226 Signed-off-by: Craig Small <csmall@dropbear.xyz>
* docs: Cleanup vmstat.8Craig Small2023-01-181-68/+32
| | | | | | Made it follow the standard format and removed some cruft. Added notes about you do need special permissions for some things such as slabs.
* watch: add -r to not rexec on terminal resizeCraig Small2023-01-171-22/+28
| | | | | | | | | | If you have the watched program doing some other thing every time its run and you resize the window, you might get unexpected results. The -r option lets you run only when the interval has expired. References: procps-ng/procps!125 procps-ng/procps#190
* docs: Minor manpage fixesCraig Small2023-01-168-48/+68
| | | | | References: procps-ng/procps#230
* doc: free.1 total memory doesn't include reserved memoryCraig Small2023-01-161-2/+3
| | | | | | | | | | Updated the definition of total, because its not *all* of the installed memory but close to it. References: procps-ng/procps#247 Signed-off-by: Craig Small <csmall@dropbear.xyz>
* docs: Update drs description in ps.1 from top.1Leonard Janis Robert König2023-01-151-3/+9
| | | | | References: procps-ng/procps!156
* misc: Add NEWS for w --pidsCraig Small2023-01-151-1/+1
| | | | | | References: commit 5baf1e6226f9aa051b5570b655ed49b73ae10061 procps-ng/procps!159
* w: add --pids option to display the pid of the login and best processes.Jan Pazdziora2023-01-151-0/+3
|
* pgrep: Support matching on the presence of a userspace signal handlerChris Down2023-01-151-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In production we've had several incidents over the years where a process has a signal handler registered for SIGHUP or one of the SIGUSR signals which can be used to signal a request to reload configs, rotate log files, and the like. While this may seem harmless enough, what we've seen happen repeatedly is something like the following: 1. A process is using SIGHUP/SIGUSR[12] to request some application-handled state change -- reloading configs, rotating a log file, etc; 2. This kind of request is deprecated and removed, so the signal handler is removed. However, a site where the signal might be sent from is missed (often logrotate or a service manager); 3. Because the default disposition of these signals is terminal, sooner or later these applications are going to be sent SIGHUP or similar and end up unexpectedly killed. I know for a fact that we're not the only organisation experiencing this: in general, signal use is pretty tricky to reason about and safely remove because of the fairly aggressive SIG_DFL behaviour for some common signals, especially for SIGHUP which has a particularly ambiguous meaning. Especially in a large, highly interconnected codebase, reasoning about signal interactions between system configuration and applications can be highly complex, and it's inevitable that on occasion a callsite will be missed. In some cases the right call to avoid this will be to migrate services towards other forms of IPC for this purpose, but inevitably there will be some services which must continue using signals, so we need a safe way to support them. This patch adds support for the -H/--require-handler flag, which matches on processes with a userspace handler present for the signal being sent. With this flag we can enforce that all SIGHUP reload cases and SIGUSR equivalents use --require-handler. This effectively mitigates the case we've seen time and time again where SIGHUP is used to rotate log files or reload configs, but the sending site is mistakenly left present after the removal of signal handler, resulting in unintended termination of the process. Signed-off-by: Chris Down <chris@chrisdown.name>
* docs: ps.1 - comm can show command name changesCraig Small2022-12-131-2/+2
| | | | | | The man page said it cannot show changes to comm, such as when you use prctl(). In fact, ps can see this. The args field may not change because its due to the path of the executable but comm can.
* docs: ps.1 remove defunct from commCraig Small2022-12-121-3/+2
| | | | | | | | The field comm no longer shows defunct for zombie processes, use the state field for this as it could be obscured if not the last column anyhow. Signed-off-by: Craig Small <csmall@dropbear.xyz>
* doc: updated with library p-core/e-core identificationJim Warner2022-09-281-3/+24
| | | | Signed-off-by: Jim Warner <james.warner@comcast.net>
* top: additional tweaks for two abreast summary displayJim Warner2022-09-131-1/+1
| | | | | | | | | | | | | | | This patch just supplements the previous series with a few minor tweaks representing some diverse objectives: . a recent date for man page (which i always overlook) . improved length calculations to maximize graph width . a proper response to platforms with less than 8 cpus . more consistency and readability with one blank line Signed-off-by: Jim Warner <james.warner@comcast.net>
* doc: top now has more than two abreast summary displayJim Warner2022-09-121-20/+31
| | | | Signed-off-by: Jim Warner <james.warner@comcast.net>
* docs: add info on why eip and esp are zeroed outEduardo Damato2022-09-041-2/+4
|
* misc: Update NEWS/man date for pgrep -ACraig Small2022-08-311-1/+1
| | | | | | | | Added NEWS item Update pgrep.1 date References: commit 4b44ab98c144dae099442e30a62966a7689818c6
* pgrep: Add support for ignoring ancestors with -A/--ignore-ancestorsChris Down2022-08-311-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pgrep and friends naturally filter their own processes from their matches. The same issue can occur when elevating with tools like sudo or doas, where the elevating shim layers linger as a parent and are returned in the results. For example: % sudo pkill -9 -cf someelevatedcmdline 1 zsh: killed sudo pkill -9 -cf someelevatedcmdline This is a situation we've actually seen in production, where some poor soul changes how permission management works (for example with Linux's hidepid option), needs to elevate a pgrep or pkill call, and now ends up with more than they bargained for. Even after the issue is noticed, resolving it requires reinventing some of the pgrep logic, which is unfortunate. This commit adds the -A/--ignore-ancestors option which excludes pgrep's ancestors from the results: % sudo ./pkill -9 -Acf someelevatedcmdline 0 We looks at multiple layers of the process hierarchy because, while things like sudo only have one layer of shimming, some mechanisms (like those found in a typical container manager like those found in Docker or Kubernetes) may have many more. Signed-off-by: Chris Down <chris@chrisdown.name>
* docs: Update manpagesCraig Small2022-08-293-9/+9
| | | | | Change include directory <procps/ -> <libproc2/ Change link instruction -lproc-2 -lproc2
* build-sys: Rearrange the manual pagesCraig Small2022-08-2924-0/+7486
All man pages are found in ./man man-po -> po-man References: https://www.freelists.org/post/procps/Next-for-newlib,3 Signed-off-by: Craig Small <csmall@dropbear.xyz>