From 68e3d6e74f0941c98aaeb82b89c954c76246ba7a Mon Sep 17 00:00:00 2001 From: John Kacur Date: Wed, 28 Nov 2018 04:28:53 +0100 Subject: [PATCH 2/2] python-linux-procfs: pflags: Use argparse to create a help option The purpose of this change was to create a -h, or --help option. The following changes were made. 1. pflags is now python3 only, since it uses argparse. 2. The handling of pids or process names is improved, instead of a command separated list (without spaces), the more standard unix way of space separated command line arguements are used. This is explained in the help ./pflags -h usage: pflags [-h] [pid [pid ...]] Print process flags positional arguments: pid a list of pids or names optional arguments: -h, --help show this help message and exit Signed-off-by: John Kacur --- pflags | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/pflags b/pflags index abfcfe9e9ec1..a1667fc06131 100755 --- a/pflags +++ b/pflags @@ -1,4 +1,4 @@ -#! /usr/bin/python +#! /usr/bin/python3 # -*- python -*- # -*- coding: utf-8 -*- # print process flags @@ -14,8 +14,9 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. -from __future__ import print_function + import procfs, re, fnmatch, sys +import argparse from functools import reduce from six.moves import map @@ -38,8 +39,13 @@ def main(argv): global ps ps = procfs.pidstats() + parser = argparse.ArgumentParser(description='Print process flags') + parser.add_argument('pid', nargs='*', help='a list of pids or names') + args = parser.parse_args() + if (len(argv) > 1): - pids = reduce(lambda i, j: i + j, list(map(thread_mapper, argv[1].split(",")))) + pids = args.pid + pids = reduce(lambda i, j: i + j, list(map(thread_mapper, pids))) else: pids = list(ps.processes.keys()) -- 2.19.1