On 19 March 2015 at 10:00, Christoph Pleger <christoph.ple...@cs.tu-dortmund.de> wrote: > Hello, > >>> I am experimenting a little with systemd and trying to define a new >>> "intermediate" runlevel, a runlevel between basic.target and >>> multi-user.target. This means that I want the services which are >>> required >>> by my new runlevel to be started after all services from basic.target >>> have >>> been started and to be finished before any service from >>> multi-user.target >>> is started. >>> >> >> There is no feasible way to do it right now. > > So, if the original unit file multi-user.target contains > > After=basic.target rescue.service rescue.target > > this "after" does not really mean anything and jobs wanted or required by > multi-user.target can already be started when some jobs from basic.target > have not been started???
Correct. You can move a service to be started earlier. You cannot force move a service to be started later. E.g. if foo.service is WantedBy=multi-user.target, yet bar.service declares Wants=foo.service and bar.service is to be started e.g. for basic.target, foo.service will be already running by the time multi-user.target starts activation of its wants. (in simplified description) This is by design, and hard / non-needed to be fixed. However their might be alternative solutions to your problem. What is the the problem you are trying to solve by "implementing a new 'intermediate' runlevel" ? -- Regards, Dimitri. Open Source Technology Center Intel Corporation (UK) Ltd. - Co. Reg. #1134945 - Pipers Way, Swindon SN3 1RJ. _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel