Jniexec provides a Java class library and a Java Native Interface wrapper around the Linux (Unix) fork/exec functions. It further provides native I/O redirection and formulation of subprocess pipelines resembling Unix shell pipelines.
|Tags||Java Linux Unix process Pipeline fork exec I/O redirection JNI|
|Implementation||Java C bash|
Release Notes: getStatus() was changed to not throw when several threads want to wait for a child and the later ones thereby wait for a child that does not exist anymore. kill() and suggestTermination() were changed to not throw when they send a signal to a child that no longer exists. This can happen due to a race condition with setting the child's status to terminated.
Release Notes: kill() and suggestTermination() were implemented to preempt operation of a subprocess. Access to a subprocesses was changed from using the index in the pipeline to the name. Some of the C code was refactored to make it more readable.
Release Notes: This release added JUnit tests and code coverage for the Java part. A core dump triggered by an empty command of a process was prevented with an IllegalArgumentException. Debug output was removed from native interface code. The documentation was improved.