feat: set systemd.unit's property CollectMode to failed-or-inactive

Signed-off-by: ComixHe <heyuming@deepin.org>
This commit is contained in:
ComixHe 2024-03-05 17:49:24 +08:00 committed by Comix
parent f740818e8a
commit 34c995d992
2 changed files with 8 additions and 3 deletions

View File

@ -305,6 +305,11 @@ std::string cmdParse(msg_ptr &msg, std::deque<std::string_view> cmdLines)
return serviceName; return serviceName;
} }
if (ret = sd_bus_message_append(msg, "(sv)", "CollectMode", "s", "inactive-or-failed"); ret < 0) {
sd_journal_perror("append application slice failed.");
return serviceName;
}
if (ret = processKVPair(msg, props); ret < 0) { // process props if (ret = processKVPair(msg, props); ret < 0) { // process props
serviceName = "invalidInput"; serviceName = "invalidInput";
return serviceName; return serviceName;
@ -424,10 +429,10 @@ int main(int argc, const char *argv[])
sd_bus_message *reply{nullptr}; sd_bus_message *reply{nullptr};
if (ret = sd_bus_call(bus, msg, 0, &error, &reply); ret < 0) { if (ret = sd_bus_call(bus, msg, 0, &error, &reply); ret < 0) {
sd_bus_error_get_errno(&error); sd_bus_error_get_errno(&error);
sd_journal_print(LOG_ERR, "launch failed: [%s,%s]", error.name, error.message); sd_journal_print(LOG_ERR, "failed to call StartTransientUnit: [%s,%s]", error.name, error.message);
releaseRes(error, msg, bus, ExitCode::InternalError); releaseRes(error, msg, bus, ExitCode::InternalError);
} else { } else {
sd_journal_print(LOG_INFO, "launch %s success.", serviceId.c_str()); sd_journal_print(LOG_INFO, "call StartTransientUnit successfully, service ID: %s", serviceId.c_str());
} }
if (ret = sd_bus_message_read(reply, "o", &path); ret < 0) { if (ret = sd_bus_message_read(reply, "o", &path); ret < 0) {