lslocks: add --output-all option

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
This commit is contained in:
Sami Kerola 2018-04-23 22:02:48 +01:00
parent fbf0619b2b
commit 25d3c40534
No known key found for this signature in database
GPG Key ID: A9553245FDE9B739
3 changed files with 13 additions and 0 deletions

View File

@ -36,6 +36,7 @@ _lslocks_module()
--noinaccessible
--noheadings
--output
--output-all
--pid
--raw
--notruncate

View File

@ -40,6 +40,9 @@ to get a list of all supported columns.
The default list of columns may be extended if \fIlist\fP is
specified in the format \fI+list\fP (e.g. \fBlslocks -o +BLOCKER\fP).
.TP
.B \-\-output\-all
Output all available columns.
.TP
.BR \-p , " \-\-pid " \fIpid\fP
Display only the locks held by the process with this \fIpid\fR.
.TP

View File

@ -536,6 +536,7 @@ static void __attribute__((__noreturn__)) usage(void)
fputs(_(" -i, --noinaccessible ignore locks without read permissions\n"), out);
fputs(_(" -n, --noheadings don't print headings\n"), out);
fputs(_(" -o, --output <list> define which output columns to use\n"), out);
fputs(_(" --output-all output all columns\n"), out);
fputs(_(" -p, --pid <pid> display only locks held by this process\n"), out);
fputs(_(" -r, --raw use the raw output format\n"), out);
fputs(_(" -u, --notruncate don't truncate text in columns\n"), out);
@ -558,12 +559,16 @@ int main(int argc, char *argv[])
int c, rc = 0;
struct list_head locks;
char *outarg = NULL;
enum {
OPT_OUTPUT_ALL = CHAR_MAX + 1
};
static const struct option long_opts[] = {
{ "bytes", no_argument, NULL, 'b' },
{ "json", no_argument, NULL, 'J' },
{ "pid", required_argument, NULL, 'p' },
{ "help", no_argument, NULL, 'h' },
{ "output", required_argument, NULL, 'o' },
{ "output-all", no_argument, NULL, OPT_OUTPUT_ALL },
{ "notruncate", no_argument, NULL, 'u' },
{ "version", no_argument, NULL, 'V' },
{ "noheadings", no_argument, NULL, 'n' },
@ -603,6 +608,10 @@ int main(int argc, char *argv[])
case 'o':
outarg = optarg;
break;
case OPT_OUTPUT_ALL:
for (ncolumns = 0; ncolumns < ARRAY_SIZE(infos); ncolumns++)
columns[ncolumns] = ncolumns;
break;
case 'V':
printf(UTIL_LINUX_VERSION);
return EXIT_SUCCESS;