Process API Updates (JEP 102)
Ron Pressler
ron at paralleluniverse.co
Mon Sep 1 10:50:25 UTC 2014
If the second process is indeed a JVM, is that any different from spawning a Java process with a shell-script exec (something that’s quite commonly done, I assume)?
On Thursday, August 28, 2014 at 7:58 PM, roger riggs wrote:
> Hi Ron,
>
> I have not looked at that idea closely but I would be concerned
> about the robustness of the 2nd, execve'd Java runtime. Since it would
> not be
> a brand new process, there might be leftover state from the previous
> execution that would break the usual assumptions of a newly started Java
> Runtime.
> Anything from signal handler state to open file descriptors to the specific
> memory mapping and there may be others.
>
> Roger
>
>
> On 8/26/2014 7:25 AM, Ron Pressler wrote:
> > I might be a little late to this party, but recently I've had a (rather
> > frustrating) need for the ability to execve a process rather than fork-exec
> > it. I understand that the ability to exec (replace the current process's
> > image) is also available on Windows. This operation (on ProcessBuilder?),
> > which never returns, would have the same semantics as
> > System.exit(pb.start().waitFor()), only it would replace the current JVM
> > process (i.e. maintain the same pid/handle) with the command.
> >
> > This is required when a JVM process is used to set up and launch another,
> > JVM or other, process, but we'd want the user running the program to be
> > oblivious to the setup process (because, say, they want to monitor the
> > running program with some OS tool).
> >
> > Ron
More information about the core-libs-dev
mailing list