Reproducer:
sudo systemd-run --scope --ignore-failure /bin/false
echo $?
Before, the option was accepted but had no effect because scope mode
executes the command locally after creating the scope. The flag is only
encoded into service ExecStart properties, so accept it only where it can
be applied.
Follow-up for
1072d9473123ed174e033704fc5222216b655c9e
<listitem><para>By default, if the specified command fails the invoked unit will be marked failed
(though possibly still unloaded, see <option>--collect=</option>, above), and this is reported in the
logs. If this switch is specified this is suppressed and any non-success exit status/code of the
- command is treated as success.</para>
+ command is treated as success. This option is not supported in <option>--scope</option> mode.</para>
<xi:include href="version-info.xml" xpointer="v256"/></listitem>
</varlistentry>
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"Scope execution is not supported on remote systems.");
- if (arg_scope && (arg_remain_after_exit || arg_service_type))
+ if (arg_scope && (arg_remain_after_exit || arg_service_type || arg_ignore_failure))
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
- "--remain-after-exit and --service-type= are not supported in --scope mode.");
+ "--remain-after-exit, --service-type= and --ignore-failure are not supported in --scope mode.");
if (arg_scope && arg_no_block)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
--property=RuntimeMaxSec=10 \
--property=RuntimeMaxSec=infinity \
true
+(! systemd-run --scope --ignore-failure false)
: "Transient scope (user daemon)"
# FIXME: https://github.com/systemd/systemd/issues/27883