В Thu, 30 Jul 2015 16:53:43 -0500
Lesley Kimmel <ljkimme...@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: graw...@gmail.com
> To: ljkimme...@hotmail.com
> CC: systemd-devel@lists.freedesktop.org
> 
> On Thu, Jul 30, 2015 at 9:40 PM, Lesley Kimmel <ljkimme...@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@.service unit for the WLMS instances.)

_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to