From fac6c6c55446ef94ee49d1b62527e702b9396a0f Mon Sep 17 00:00:00 2001 From: Tim Ledbetter Date: Sun, 14 May 2023 06:06:11 +0100 Subject: [PATCH] pidof: Add -S option to specify a pid separator This is useful for commands which expect a comma-separated list of pids. --- Userland/Utilities/pidof.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Userland/Utilities/pidof.cpp b/Userland/Utilities/pidof.cpp index efe93a666d..6b61b8f15d 100644 --- a/Userland/Utilities/pidof.cpp +++ b/Userland/Utilities/pidof.cpp @@ -17,6 +17,7 @@ struct Options { bool single_shot { false }; Optional pid_to_omit; StringView process_name; + StringView pid_separator { " "sv }; }; static ErrorOr pid_of(Options const& options) @@ -29,7 +30,11 @@ static ErrorOr pid_of(Options const& options) if (it.name != options.process_name || options.pid_to_omit == it.pid) continue; - out(displayed_at_least_one ? " {}"sv : "{}"sv, it.pid); + if (displayed_at_least_one) + out("{}{}"sv, options.pid_separator, it.pid); + else + out("{}"sv, it.pid); + displayed_at_least_one = true; if (options.single_shot) @@ -75,6 +80,7 @@ ErrorOr serenity_main(Main::Arguments args) }, }); args_parser.add_option(options.single_shot, "Only return one pid", nullptr, 's'); + args_parser.add_option(options.pid_separator, "Use `separator` to separate multiple pids", nullptr, 'S', "separator"); args_parser.add_positional_argument(options.process_name, "Process name to search for", "process-name"); args_parser.parse(args);