diff options
author | Lennart Poettering <lennart@poettering.net> | 2013-06-28 04:12:58 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2013-06-28 04:12:58 +0200 |
commit | c2756a68401102786be343712c0c35acbd73d28d (patch) | |
tree | 64af93633ce57982937323c9a55fe1ecbf076cd1 /src/shared | |
parent | 1508e85878cff23a220b2ff8d6c71418e19797de (diff) |
core: add transient units
Transient units can be created via the bus API. They are configured via
the method call parameters rather than on-disk files. They are subject
to normal GC. Transient units currently may only be created for
services (however, we will extend this), and currently only ExecStart=
and the cgroup parameters can be configured (also to be extended).
Transient units require a unique name, that previously had no
configuration file on disk.
A tool systemd-run is added that makes use of this functionality to run
arbitrary command lines as transient services:
$ systemd-run /bin/ping www.heise.de
Will cause systemd to create a new transient service and run ping in it.
Diffstat (limited to 'src/shared')
-rw-r--r-- | src/shared/unit-name.c | 2 | ||||
-rw-r--r-- | src/shared/unit-name.h | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/src/shared/unit-name.c b/src/shared/unit-name.c index 0910e86f10..bf1ab794a8 100644 --- a/src/shared/unit-name.c +++ b/src/shared/unit-name.c @@ -52,6 +52,7 @@ DEFINE_STRING_TABLE_LOOKUP(unit_type, UnitType); static const char* const unit_load_state_table[_UNIT_LOAD_STATE_MAX] = { [UNIT_STUB] = "stub", [UNIT_LOADED] = "loaded", + [UNIT_NOT_FOUND] = "not-found", [UNIT_ERROR] = "error", [UNIT_MERGED] = "merged", [UNIT_MASKED] = "masked" @@ -403,7 +404,6 @@ char *unit_name_template(const char *f) { strcpy(mempcpy(r, f, a), e); return r; - } char *unit_name_from_path(const char *path, const char *suffix) { diff --git a/src/shared/unit-name.h b/src/shared/unit-name.h index baa487a81d..922d75232d 100644 --- a/src/shared/unit-name.h +++ b/src/shared/unit-name.h @@ -49,6 +49,7 @@ enum UnitType { enum UnitLoadState { UNIT_STUB = 0, UNIT_LOADED, + UNIT_NOT_FOUND, UNIT_ERROR, UNIT_MERGED, UNIT_MASKED, |