On 2026/02/25 20:53:06 Gary Gregory wrote:
> On Sat, Feb 21, 2026 at 9:12 AM Tenenbaum, Peter G. (ARC-TN)[SETI
> INSTITUTE] via user <[email protected]> wrote:
> >
> > Hi there —
> >
> > I was looking for a way to get the process ID of a process that gets
started by the DefaultExecutor. From looking at the javadoc, there’s no
built-in way to do it.
> >
> > Google recommends that I create a subclass of DefaultExecutor that
overrides the launch() method, such that the Process it returns is
interrogated for the PID. DefaultExecutor isn’t final and launch() is
protected, so in principle this can be done.
> >
> > However:
> >
> > The only public constructor for DefaultExecutor is deprecated. The
non-deprecated method to instantiate a DefaultExecutor is to use the
DefaultExecutor builder, but AFAICT there’s no way to get this builder to
return a DefaultExecutor subclass. I could subclass the DefaultExecutor
builder, but the DefaultExecutor builder uses a package-private
DefaultExecutor constructor, so my subclass of DefaultExecutor builder
can’t use that constructor.
> >
> > In a pinch, I could imagine giving my subclass its own constructor that
emulates the package-private one in DefaultExecutor. Unfortunately, this
also won’t work: all the instance variables are private and there are no
protected setters for them.
> >
> > It seems like the intent is there to allow users to subclass
DefaultExecutor, but in practice the only way to do it appears to be the
deprecated public constructor. Am I missing something?
> >
> > Is there an easier way to get the PID from a DefaultExecutor?
>
> Hello PT,
>
> Have you tried registering an ExecuteWatchdog with a DefaultExecutor?
> It accepts a Process that you can query.
>
> Gary
>
> >
> > Thanks,
> > -PT
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to