diff --git a/src/run/run.c b/src/run/run.c index d03604e4ee..7b6fe01d56 100644 --- a/src/run/run.c +++ b/src/run/run.c @@ -1095,6 +1095,11 @@ static int parse_argv_sudo_mode(int argc, char *argv[]) { if (strv_extend(&arg_property, "PAMName=systemd-run0") < 0) return log_oom(); + /* The service manager ignores SIGPIPE for all spawned processes by default. Let's explicitly override + * that here, since we're primarily invoked in interactive environments where this does matter. */ + if (strv_extend(&arg_property, "IgnoreSIGPIPE=no") < 0) + return log_oom(); + if (!arg_background && arg_stdio == ARG_STDIO_PTY && shall_tint_background()) { double hue;