[systemd-devel] Complicated SysVInit Migration
Lesley Kimmel
ljkimmel99 at hotmail.com
Fri Jul 31 05:42:42 PDT 2015
The problem is that I'd like to get all of the same features out of systemd as I did with SysV. I don't see how, in this instance, I'd be able to get an accurate status of my service. I also want to be able to stop the service with the same unit file. I guess to do this I could just use the 'RemainAfterExit=yes' but then I don't think I have the ability to get an accurate status from systemd.
> Date: Fri, 31 Jul 2015 06:25:43 +0300
> From: arvidjaar at gmail.com
> To: ljkimmel99 at hotmail.com
> CC: grawity at gmail.com; systemd-devel at lists.freedesktop.org
> Subject: Re: [systemd-devel] Complicated SysVInit Migration
>
> В Thu, 30 Jul 2015 16:53:43 -0500
> Lesley Kimmel <ljkimmel99 at hotmail.com> пишет:
>
> > I can't really change anything about the way that the Node Manager does it's job. That all takes place outside of systemd. If I used the PIDFile option in the original systemd service (executing the WLST process), let's call this weblogic.service, and the PIDFile pointed to the PID file created by the final Java process, would that work or does the process that I'm ultimately starting have to descend directly from whatever it is that the unit file executes?
>
> Process has to be part of cgroup of original systemd service; and for
> all practical purposes this means it has to be direct descendant of one
> of ExecStart* commands. There is no systemd API to move processes
> between cgroups.
>
> What exactly is wrong in how it behaves currently? It is no worse
> than it was before, with sysvinit, right? Do you observe any problems?
>
> >
> > Date: Thu, 30 Jul 2015 23:47:03 +0300
> > Subject: Re: [systemd-devel] Complicated SysVInit Migration
> > From: grawity at gmail.com
> > To: ljkimmel99 at hotmail.com
> > CC: systemd-devel at lists.freedesktop.org
> >
> > On Thu, Jul 30, 2015 at 9:40 PM, Lesley Kimmel <ljkimmel99 at hotmail.com> wrote:
> >
> >
> >
> > All;
> >
> > I'm struggling with figuring out how to migrate some SysVInit scripts to systemd. Specifically, this service launches WebLogic Managed Server (Java) instances Let me describe the process flow of my current service to you:
> >
> > -The init service/script launches a Java process called WLST which executes a simple script
> > -This WLST process connects to an already running Java process called the Node Manager and issues a start command for the application server it wishes to start
> > -The Node Manager process executes a shell script as a subprocess. This shell script sets up a bunch of environment variables, etc.
> > -Ultimately the shell script launches a Java process which is a child of the shell script.
> > -When this Java process reports itself as running, the initial WLST Java process exits.
> > -In the end the actual service/process that we started, and want to manage, is actually the GRANDCHILD of a completely separate process from the initial Java process that systemd launched. How, would systemd track that process?
> >
> > systemd would see it as an extra process belonging to NodeManager.service, nothing more.
> > If you want systemd to track it as an independent service, go back to step #3 (where the Node Manager executes a shell script), and make that shell script merely run "systemctl start ..." instead of creating the new instance directly. (Make a template foo at .service unit for the WLMS instances.)
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/systemd-devel/attachments/20150731/37411c87/attachment-0001.html>
More information about the systemd-devel
mailing list