" clear-jobs Cancel all jobs\n" +
" load [NAME...] Load one or more units\n" +
" cancel [JOB...] Cancel one or more jobs\n" +
- " start [NAME...] Start on or more units\n" +
- " stop [NAME...] Stop on or more units\n" +
- " enter [NAME] Start one unit and stop all others\n" +
- " restart [NAME...] Restart on or more units\n" +
- " reload [NAME...] Reload on or more units\n" +
+ " start [NAME...] Start one or more units\n" +
+ " stop [NAME...] Stop one or more units\n" +
+ " restart [NAME...] Restart one or more units\n" +
+ " reload [NAME...] Reload one or more units\n" +
+ " isolate [NAME] Start one unit and stop all others\n" +
" monitor Monitor unit/job changes\n" +
" dump Dump server status\n" +
" snapshot [NAME] Create a snapshot\n" +
" daemon-reload Reload daemon configuration\n" +
" daemon-reexecute Reexecute daemon\n" +
+ " daemon-exit Ask the daemon to quit\n" +
" show-environment Dump environment\n" +
" set-environment [NAME=VALUE...] Set one or more environment variables\n" +
" unset-environment [NAME...] Unset one or more environment variables\n");
for (int i = 2; i < args.length; i++) {
- ObjectPath p = manager.load_unit(args[i]);
-
- Unit u = bus.get_object(
- "org.freedesktop.systemd1",
- p,
- "org.freedesktop.systemd1.Unit") as Unit;
-
string mode = replace ? "replace" : "fail";
-
ObjectPath j = null;
if (args[1] == "start")
- j = u.start(mode);
+ j = manager.start_unit(args[i], mode);
else if (args[1] == "stop")
- j = u.stop(mode);
+ j = manager.stop_unit(args[i], mode);
else if (args[1] == "restart")
- j = u.restart(mode);
+ j = manager.restart_unit(args[i], mode);
else if (args[1] == "reload")
- j = u.reload(mode);
+ j = manager.reload_unit(args[i], mode);
if (block)
jobs.append(j);
return 1;
}
- ObjectPath p = manager.load_unit(args[2]);
-
- Unit u = bus.get_object(
- "org.freedesktop.systemd1",
- p,
- "org.freedesktop.systemd1.Unit") as Unit;
-
- ObjectPath j = u.start("isolate");
+ ObjectPath j = manager.start_unit(args[2], "isolate");
if (block) {
manager.subscribe();
manager.subscribe();
+ var unit_list = manager.list_units();
+
+ foreach (var i in unit_list) {
+ monitor_on_unit_new(i.id, i.unit_path);
+
+ if (i.job_id != 0)
+ monitor_on_job_new(i.job_id, i.job_path);
+ }
+
manager.unit_new += monitor_on_unit_new;
manager.unit_removed += monitor_on_unit_removed;
manager.job_new += monitor_on_job_new;