(Cat? OR feline) AND NOT dog?
Cat? W/5 behavior
(Cat? OR feline) AND traits
Cat AND charact*

This guide provides a more detailed description of the syntax that is supported along with examples.

This search box also supports the look-up of an IP.com Digital Signature (also referred to as Fingerprint); enter the 72-, 48-, or 32-character code to retrieve details of the associated file or submission.

Concept Search - What can I type?

For a concept search, you can enter phrases, sentences, or full paragraphs in English. For example, copy and paste the abstract of a patent application or paragraphs from an article.

Concept search eliminates the need for complex Boolean syntax to inform retrieval. Our Semantic Gist engine uses advanced cognitive semantic analysis to extract the meaning of data. This reduces the chances of missing valuable information, that may result from traditional keyword searching.

Publishing Venue

Abstract

The present publication addresses a way to extend the current Java tools for spawning and controlling OS processes

Country

Undisclosed

Language

English (United States)

This text was extracted from a PDF file.

This is the abbreviated version, containing approximately
51% of the total text.

Page 1 of 2

Processes control utility for Java

The Java Runtime Environment gives a user the capability to create a new process
and set its arguments and environment.

However it does not provide any mechanism to asynchronously notify the
creating process about the death of a child of its. The supported way to check the
termination of a child process is synchronous and blocks the controlling thread if the
checked process is still living. Moreover that check could be needed in order to free
the system resources (such us the pipes being created to allow the communication
between the process and its father) kept allocated by the JVM while the process is
living. That depends by the specific implementation of the JRE and by the operating
system which the JVM is running on. For example a specific JRE implementation on
a UNIX-like operating system could have a SIGCHLD signal handler being designed
to release the involved system resources. But this is not the general case.

So in most cases the user has to ask the Java Runtime for checking the
termination of its child process and therefore, to avoid a likely undesiderable
program flow blocking condition, he/she has to create a dedicated thread
permanently waiting for the process termination. The user should do that even if
he/she is not interested to follow the life-cycle of its child process.

Another crucial aspect of managing a child process is the eventuality of its
block caused by the fullness of the buffers being used by the IPC mechanism adpted
in the father-child communication. In some Java implementations the lack of a
regular reading of the streams being used as standard output and standard error of
the child process could cause the filling of these and the consequent block of the
child process. So, in scenarios where the application is not interested to the standard
output or error of its child process, it has to include a couple of threads whcih
permanently read any new byte written into standard output/error of the child
process.

Any Java user could find useful a utility which frees him/her from the tasks
described above. So he/she should explicitly read the child's stream and/or wait for
the child termination only if he/she is interested to do that. In the other cases the
utility would do that instead. That utility would provide te user with the following
functionalities:
all the process spawning capabilities, as allowed by the java.lang.Runtime.exec()
methods
automatic flushing of communication streams whose content is not used by the
user
automatic notification of childs death.

The utility includes the following interfaces/classes
Class DetProcFactory

Includes a createDetProc() method for each exec() methods of java.lang.Runtime
class. Each createDetProc() method has the correspondig exec() signature
augmented with two boolean parameters, outAutoFlush and errAutoFlush. The
former enables the utility to automatically flush the standard output of the child
process, as described above. The...