X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=systemctl.vala;h=abeb0ac7a99844330081aa408900b08563622438;hp=f3b2e62e59b89e8849aa7d87c9b0889bd2461f56;hb=dcc47b179fed0ae67b0481b2454aea03947e712c;hpb=5630af71d72a2fa8142886ca2fb37e69a1906bca diff --git a/systemctl.vala b/systemctl.vala index f3b2e62e5..abeb0ac7a 100644 --- a/systemctl.vala +++ b/systemctl.vala @@ -28,6 +28,8 @@ public interface Manager : DBus.Object { public abstract JobInfo[] ListJobs() throws DBus.Error; public abstract ObjectPath LoadUnit(string name) throws DBus.Error; + + public abstract void ClearJobs() throws DBus.Error; } static string type = null; @@ -81,7 +83,7 @@ int main (string[] args) { uint n = 0; Posix.qsort(list, list.length, sizeof(Manager.UnitInfo), unit_info_compare); - stdout.printf("%-45s %-6s %-12s → %-15s\n\n", "UNIT", "LOAD", "ACTIVE", "JOB"); + stdout.printf("%-45s %-6s %-12s %-17s\n", "UNIT", "LOAD", "ACTIVE", "JOB"); foreach (var i in list) { @@ -110,9 +112,17 @@ int main (string[] args) { var list = manager.ListJobs(); Posix.qsort(list, list.length, sizeof(Manager.JobInfo), job_info_compare); + stdout.printf("%-45s %-17s %-7s\n", "UNIT", "TYPE", "STATE"); + foreach (var i in list) stdout.printf("%-45s → %-15s %-7s\n", i.name, i.type, i.state); + stdout.printf("\n%u jobs listed.\n", list.length); + + } else if (args[1] == "clear-jobs") { + + manager.ClearJobs(); + } else if (args[1] == "load") { if (args.length < 3) {