X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=systemctl.vala;fp=systemctl.vala;h=4de856e756feeb569402167eee2a4c901ad79cc6;hb=41447faf1fc57463becabce399d983df762a104c;hp=8f16b90482241ece7947281fbb5c500c8e4bbb65;hpb=6dde1f33e1249a8a6b354372dd95065f26b8c712;p=elogind.git diff --git a/systemctl.vala b/systemctl.vala index 8f16b9048..4de856e75 100644 --- a/systemctl.vala +++ b/systemctl.vala @@ -83,7 +83,9 @@ int main (string[] args) { " stop [NAME...] Stop on or more units\n" + " restart [NAME...] Restart on or more units\n" + " reload [NAME...] Reload on or more units\n" + - " monitor Monitor unit/job changes\n"); + " monitor Monitor unit/job changes\n" + + " dump Dump servier status\n" + + " snapshot [NAME] Create a snapshot\n"); try { context.parse(ref args); @@ -224,7 +226,17 @@ int main (string[] args) { } else if (args[1] == "dump") stdout.puts(manager.dump()); - else { + else if (args[1] == "snapshot") { + + ObjectPath p = manager.create_snapshot(args.length > 2 ? args[2] : ""); + + Unit u = bus.get_object( + "org.freedesktop.systemd1", + p, + "org.freedesktop.systemd1.Unit") as Unit; + + stdout.printf("%s\n", u.id); + } else { stderr.printf("Unknown command %s.\n", args[1]); return 1; }