SimpleProcessTest

24

tests

0

failures

0

ignored

0.720s

duration

100%

successful

Tests

Test Duration Result
currentProcessWorkingDir() 0.240s passed
customExecutor() 0.020s passed
customLogLevel() 0.016s passed
destroyForcibly() 0.024s passed
destroyForciblyWaitForTermination() 0.019s passed
destroyTerminatesProcess() 0.016s passed
destroyTerminatesProcessWaitForTermination() 0.017s passed
processExitNonZero() 0.037s passed
processExitZero() 0.015s passed
processWritesMultipleLinesToStdOut() 0.027s passed
processWritesToStdErr() 0.023s passed
processWritesToStdOut() 0.016s passed
processWritesToStdOutAndStdErr() 0.017s passed
processWritesToStdOutWithoutTrailingNewline() 0.009s passed
redirectErrorStream() 0.016s passed
startingFails() 0.010s passed
streamConsumerCloseTimeout() 0.013s passed
waitForTerminationDoesNotDestroyProcess() 0.021s passed
waitForTerminationWithCorrectExpectedExitCode() 0.022s passed
waitForTerminationWithTimeout() 0.012s passed
waitForTerminationWithWrongExpectedExitCode() 0.017s passed
waitForTerminationWithoutTimeout() 0.025s passed
workingDirDefined(Path) 0.060s passed
workingDirNull() 0.028s passed

Standard error

2026-01-29 10:12:55.337 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2599 in background...
2026-01-29 10:12:55.378 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2599...
2026-01-29 10:12:55.380 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2599:stdOut> /home/runner/work/simple-process/simple-process
2026-01-29 10:12:55.380 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2599...
2026-01-29 10:12:55.382 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2599 finished
2026-01-29 10:12:55.381 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2599 finished
2026-01-29 10:12:55.380 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2599 (command 'pwd') to terminate...
2026-01-29 10:12:55.386 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2599 to close
2026-01-29 10:12:55.388 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2599 closed
2026-01-29 10:12:55.389 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2599 to close
2026-01-29 10:12:55.392 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2599 closed
2026-01-29 10:12:55.543 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2603 in background...
2026-01-29 10:12:55.548 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2603...
2026-01-29 10:12:55.549 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2603:stdOut> /home/runner/work/simple-process/simple-process
2026-01-29 10:12:55.550 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2603 finished
2026-01-29 10:12:55.551 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2603 (command 'pwd') to terminate...
2026-01-29 10:12:55.551 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2603 to close
2026-01-29 10:12:55.552 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2603 closed
2026-01-29 10:12:55.552 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2603 to close
2026-01-29 10:12:55.556 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2603...
2026-01-29 10:12:55.556 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2603 finished
2026-01-29 10:12:55.559 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2603 closed
2026-01-29 10:12:55.570 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2606 in background...
2026-01-29 10:12:55.574 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2606...
2026-01-29 10:12:55.575 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting PT0.003S for process 2606 (command 'sh -c echo 'hello world' >&2') to terminate...
2026-01-29 10:12:55.576 [FINEST ] org.itsallcode.process.SimpleProcess waitForTermination org.itsallcode.process.SimpleProcess Process 2606 (command 'sh -c echo 'hello world' >&2') terminated with exit code 0
2026-01-29 10:12:55.576 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2606 to close
2026-01-29 10:12:55.575 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2606 finished
2026-01-29 10:12:55.580 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2606 closed
2026-01-29 10:12:55.576 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2606...
2026-01-29 10:12:55.584 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2606 to close
2026-01-29 10:12:55.584 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2606:stdErr> hello world
2026-01-29 10:12:55.585 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2606 finished
2026-01-29 10:12:55.586 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2606 closed
2026-01-29 10:12:55.595 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2609 in background...
2026-01-29 10:12:55.597 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2609...
2026-01-29 10:12:55.598 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2609:stdOut> hello world
2026-01-29 10:12:55.598 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2609 (command 'echo hello world') to terminate...
2026-01-29 10:12:55.598 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2609...
2026-01-29 10:12:55.599 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2609 to close
2026-01-29 10:12:55.598 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2609 finished
2026-01-29 10:12:55.599 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2609 finished
2026-01-29 10:12:55.602 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2609 closed
2026-01-29 10:12:55.602 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2609 to close
2026-01-29 10:12:55.603 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2609 closed
2026-01-29 10:12:55.617 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2612 in background...
2026-01-29 10:12:55.623 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2612...
2026-01-29 10:12:55.624 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2612...
2026-01-29 10:12:55.625 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2612 finished
2026-01-29 10:12:55.624 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2612 finished
2026-01-29 10:12:55.625 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting PT0.003S for process 2612 (command 'false') to terminate...
2026-01-29 10:12:55.628 [FINEST ] org.itsallcode.process.SimpleProcess waitForTermination org.itsallcode.process.SimpleProcess Process 2612 (command 'false') terminated with exit code 1
2026-01-29 10:12:55.628 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2612 to close
2026-01-29 10:12:55.628 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2612 closed
2026-01-29 10:12:55.629 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2612 to close
2026-01-29 10:12:55.629 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2612 closed
2026-01-29 10:12:55.649 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2615 in background...
2026-01-29 10:12:55.651 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2615...
2026-01-29 10:12:55.652 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2615...
2026-01-29 10:12:55.653 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Reading stream 'stdErr' of process 2615 failed: Stream closed
java.io.IOException: Stream closed
	at java.base/java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:168)
	at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:334)
	at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:287)
	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:330)
	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:190)
	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:177)
	at java.base/java.io.BufferedReader.fill(BufferedReader.java:162)
	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:329)
	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:396)
	at org.itsallcode.process.AsyncStreamConsumer.run(AsyncStreamConsumer.java:28)
	at java.base/java.lang.Thread.run(Thread.java:840)

2026-01-29 10:12:55.652 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Reading stream 'stdOut' of process 2615 failed: Stream closed
java.io.IOException: Stream closed
	at java.base/java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:168)
	at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:334)
	at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:287)
	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:330)
	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:190)
	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:177)
	at java.base/java.io.BufferedReader.fill(BufferedReader.java:162)
	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:329)
	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:396)
	at org.itsallcode.process.AsyncStreamConsumer.run(AsyncStreamConsumer.java:28)
	at java.base/java.lang.Thread.run(Thread.java:840)

2026-01-29 10:12:55.652 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2615 (command 'sleep 1') to terminate...
2026-01-29 10:12:55.659 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2615 to close
2026-01-29 10:12:55.659 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2615 closed
2026-01-29 10:12:55.659 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2615 to close
2026-01-29 10:12:55.660 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2615 closed
2026-01-29 10:12:55.666 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2618 in background...
2026-01-29 10:12:55.667 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2618...
2026-01-29 10:12:55.667 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2618...
2026-01-29 10:12:55.668 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting PT0.01S for process 2618 (command 'sleep 1') to terminate...
2026-01-29 10:12:55.687 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2621 in background...
2026-01-29 10:12:55.688 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2621...
2026-01-29 10:12:55.688 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2621:stdOut> hello world
2026-01-29 10:12:55.689 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2621 finished
2026-01-29 10:12:55.690 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2621 (command 'echo -n hello world') to terminate...
2026-01-29 10:12:55.691 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2621 to close
2026-01-29 10:12:55.691 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2621 closed
2026-01-29 10:12:55.691 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2621 to close
2026-01-29 10:12:55.691 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2621...
2026-01-29 10:12:55.692 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2621 finished
2026-01-29 10:12:55.693 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2621 closed
2026-01-29 10:12:55.699 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2625 in background...
2026-01-29 10:12:55.701 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2625...
2026-01-29 10:12:55.701 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2625:stdOut> hello
2026-01-29 10:12:55.702 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2625 finished
2026-01-29 10:12:55.706 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2625...
2026-01-29 10:12:55.707 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2625 finished
2026-01-29 10:12:55.713 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2625 (command 'echo hello') to terminate...
2026-01-29 10:12:55.714 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2625 to close
2026-01-29 10:12:55.715 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2625 closed
2026-01-29 10:12:55.715 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2625 to close
2026-01-29 10:12:55.716 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2625 closed
2026-01-29 10:12:55.730 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2628 in background...
2026-01-29 10:12:55.732 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2628...
2026-01-29 10:12:55.733 [INFO   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2628:stdOut> hello world
2026-01-29 10:12:55.733 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2628 finished
2026-01-29 10:12:55.735 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2628 (command 'echo hello world') to terminate...
2026-01-29 10:12:55.735 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2628...
2026-01-29 10:12:55.736 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2628 finished
2026-01-29 10:12:55.735 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2628 to close
2026-01-29 10:12:55.736 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2628 closed
2026-01-29 10:12:55.737 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2628 to close
2026-01-29 10:12:55.737 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2628 closed
2026-01-29 10:12:55.750 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2631 in background...
2026-01-29 10:12:55.752 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2631 (command 'echo hello world') to terminate...
2026-01-29 10:12:55.753 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2631...
2026-01-29 10:12:55.754 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2631:stdOut> hello world
2026-01-29 10:12:55.755 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2631 to close
2026-01-29 10:12:55.755 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2631 finished
2026-01-29 10:12:55.756 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2631...
2026-01-29 10:12:55.758 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2631 finished
2026-01-29 10:12:55.759 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2631 closed
2026-01-29 10:12:55.759 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2631 to close
2026-01-29 10:12:55.759 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2631 closed
2026-01-29 10:12:55.769 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2633 in background...
2026-01-29 10:12:55.772 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2633...
2026-01-29 10:12:55.773 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2633:stdOut> 2: std out
2026-01-29 10:12:55.774 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2633:stdOut> 4: std out
2026-01-29 10:12:55.774 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2633 finished
2026-01-29 10:12:55.775 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting PT0.003S for process 2633 (command 'sh -c echo '1: std err' >&2 && echo '2: std out' && echo '3: std err' >&2 && echo '4: std out'') to terminate...
2026-01-29 10:12:55.775 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2633...
2026-01-29 10:12:55.776 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2633:stdErr> 1: std err
2026-01-29 10:12:55.776 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2633:stdErr> 3: std err
2026-01-29 10:12:55.776 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2633 finished
2026-01-29 10:12:55.775 [FINEST ] org.itsallcode.process.SimpleProcess waitForTermination org.itsallcode.process.SimpleProcess Process 2633 (command 'sh -c echo '1: std err' >&2 && echo '2: std out' && echo '3: std err' >&2 && echo '4: std out'') terminated with exit code 0
2026-01-29 10:12:55.777 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2633 to close
2026-01-29 10:12:55.777 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2633 closed
2026-01-29 10:12:55.777 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2633 to close
2026-01-29 10:12:55.778 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2633 closed
2026-01-29 10:12:55.785 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2636 in background...
2026-01-29 10:12:55.787 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting PT0.003S for process 2636 (command 'true') to terminate...
2026-01-29 10:12:55.788 [FINEST ] org.itsallcode.process.SimpleProcess waitForTermination org.itsallcode.process.SimpleProcess Process 2636 (command 'true') terminated with exit code 0
2026-01-29 10:12:55.787 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2636...
2026-01-29 10:12:55.789 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2636 finished
2026-01-29 10:12:55.789 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2636 to close
2026-01-29 10:12:55.788 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2636...
2026-01-29 10:12:55.790 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2636 closed
2026-01-29 10:12:55.790 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2636 finished
2026-01-29 10:12:55.790 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2636 to close
2026-01-29 10:12:55.796 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2636 closed
2026-01-29 10:12:55.815 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2640 in background...
2026-01-29 10:12:55.818 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2640...
2026-01-29 10:12:55.818 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2640:stdOut> 1: std err
2026-01-29 10:12:55.819 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2640:stdOut> 2: std out
2026-01-29 10:12:55.818 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting PT0.003S for process 2640 (command 'sh -c echo '1: std err' >&2 && echo '2: std out' && echo '3: std err' >&2 && echo '4: std out'') to terminate...
2026-01-29 10:12:55.819 [FINEST ] org.itsallcode.process.SimpleProcess waitForTermination org.itsallcode.process.SimpleProcess Process 2640 (command 'sh -c echo '1: std err' >&2 && echo '2: std out' && echo '3: std err' >&2 && echo '4: std out'') terminated with exit code 0
2026-01-29 10:12:55.819 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2640 to close
2026-01-29 10:12:55.819 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2640:stdOut> 3: std err
2026-01-29 10:12:55.821 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2640:stdOut> 4: std out
2026-01-29 10:12:55.821 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2640 finished
2026-01-29 10:12:55.818 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2640...
2026-01-29 10:12:55.823 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2640 finished
2026-01-29 10:12:55.823 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2640 closed
2026-01-29 10:12:55.824 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2640 to close
2026-01-29 10:12:55.824 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2640 closed
2026-01-29 10:12:55.835 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2643 in background...
2026-01-29 10:12:55.837 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2643...
2026-01-29 10:12:55.837 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2643:stdOut> line 1
2026-01-29 10:12:55.838 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2643:stdOut> line 2
2026-01-29 10:12:55.838 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2643 finished
2026-01-29 10:12:55.849 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2643 (command 'sh -c echo 'line 1' && echo 'line 2'') to terminate...
2026-01-29 10:12:55.850 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2643 to close
2026-01-29 10:12:55.850 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2643 closed
2026-01-29 10:12:55.850 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2643 to close
2026-01-29 10:12:55.849 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2643...
2026-01-29 10:12:55.852 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2643 finished
2026-01-29 10:12:55.852 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2643 closed
2026-01-29 10:12:55.860 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2646 in background...
2026-01-29 10:12:55.862 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2646...
2026-01-29 10:12:55.862 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2646:stdOut> hello world
2026-01-29 10:12:55.862 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2646 finished
2026-01-29 10:12:55.864 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2646...
2026-01-29 10:12:55.865 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2646 finished
2026-01-29 10:12:55.864 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2646 (command 'echo hello world') to terminate...
2026-01-29 10:12:55.865 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT3S for stream 'stdOut' of process 2646 to close
2026-01-29 10:12:55.866 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2646 closed
2026-01-29 10:12:55.866 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT3S for stream 'stdErr' of process 2646 to close
2026-01-29 10:12:55.866 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2646 closed
2026-01-29 10:12:55.870 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2649 in background...
2026-01-29 10:12:55.871 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2649...
2026-01-29 10:12:55.872 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2649:stdOut> hello world
2026-01-29 10:12:55.871 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting PT0.003S for process 2649 (command 'echo hello world') to terminate...
2026-01-29 10:12:55.873 [FINEST ] org.itsallcode.process.SimpleProcess waitForTermination org.itsallcode.process.SimpleProcess Process 2649 (command 'echo hello world') terminated with exit code 0
2026-01-29 10:12:55.873 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2649 to close
2026-01-29 10:12:55.874 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2649 finished
2026-01-29 10:12:55.872 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2649...
2026-01-29 10:12:55.874 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2649 finished
2026-01-29 10:12:55.876 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2649 closed
2026-01-29 10:12:55.876 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2649 to close
2026-01-29 10:12:55.879 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2649 closed
2026-01-29 10:12:55.883 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2652 in background...
2026-01-29 10:12:55.886 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2652...
2026-01-29 10:12:55.893 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting PT0.01S for process 2652 (command 'sleep 1') to terminate...
2026-01-29 10:12:55.894 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2652...
2026-01-29 10:12:55.894 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Reading stream 'stdErr' of process 2652 failed: Stream closed
java.io.IOException: Stream closed
	at java.base/java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:168)
	at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:334)
	at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:287)
	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:330)
	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:190)
	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:177)
	at java.base/java.io.BufferedReader.fill(BufferedReader.java:162)
	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:329)
	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:396)
	at org.itsallcode.process.AsyncStreamConsumer.run(AsyncStreamConsumer.java:28)
	at java.base/java.lang.Thread.run(Thread.java:840)

2026-01-29 10:12:55.900 [FINEST ] org.itsallcode.process.SimpleProcess waitForTermination org.itsallcode.process.SimpleProcess Process 2652 (command 'sleep 1') terminated with exit code 137
2026-01-29 10:12:55.900 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2652 to close
2026-01-29 10:12:55.901 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2652 finished
2026-01-29 10:12:55.904 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2652 closed
2026-01-29 10:12:55.904 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2652 to close
2026-01-29 10:12:55.904 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2652 closed
2026-01-29 10:12:55.911 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2655 in background...
2026-01-29 10:12:55.915 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2655...
2026-01-29 10:12:55.918 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2655 (command 'sleep 1') to terminate...
2026-01-29 10:12:55.918 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2655...
2026-01-29 10:12:55.919 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Reading stream 'stdErr' of process 2655 failed: Stream closed
java.io.IOException: Stream closed
	at java.base/java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:168)
	at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:334)
	at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:287)
	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:330)
	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:190)
	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:177)
	at java.base/java.io.BufferedReader.fill(BufferedReader.java:162)
	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:329)
	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:396)
	at org.itsallcode.process.AsyncStreamConsumer.run(AsyncStreamConsumer.java:28)
	at java.base/java.lang.Thread.run(Thread.java:840)

2026-01-29 10:12:55.921 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2655 finished
2026-01-29 10:12:55.924 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2655 to close
2026-01-29 10:12:55.924 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2655 closed
2026-01-29 10:12:55.924 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2655 to close
2026-01-29 10:12:55.924 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2655 closed
2026-01-29 10:12:55.933 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2658 in background...
2026-01-29 10:12:55.934 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2658...
2026-01-29 10:12:55.936 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2658:stdOut> hello
2026-01-29 10:12:55.936 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2658 finished
2026-01-29 10:12:55.935 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2658...
2026-01-29 10:12:55.938 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2658 finished
2026-01-29 10:12:55.935 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2658 (command 'echo hello') to terminate...
2026-01-29 10:12:55.940 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2658 to close
2026-01-29 10:12:55.940 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2658 closed
2026-01-29 10:12:55.940 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2658 to close
2026-01-29 10:12:55.941 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2658 closed
2026-01-29 10:12:55.953 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2661 in background...
2026-01-29 10:12:55.955 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2661...
2026-01-29 10:12:55.957 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting PT0.01S for process 2661 (command 'sleep 1') to terminate...
2026-01-29 10:12:55.957 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2661...
2026-01-29 10:12:55.957 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Reading stream 'stdErr' of process 2661 failed: Stream closed
java.io.IOException: Stream closed
	at java.base/java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:168)
	at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:334)
	at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:287)
	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:330)
	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:190)
	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:177)
	at java.base/java.io.BufferedReader.fill(BufferedReader.java:162)
	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:329)
	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:396)
	at org.itsallcode.process.AsyncStreamConsumer.run(AsyncStreamConsumer.java:28)
	at java.base/java.lang.Thread.run(Thread.java:840)

2026-01-29 10:12:55.958 [FINEST ] org.itsallcode.process.SimpleProcess waitForTermination org.itsallcode.process.SimpleProcess Process 2661 (command 'sleep 1') terminated with exit code 143
2026-01-29 10:12:55.959 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2661 to close
2026-01-29 10:12:55.958 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2661 finished
2026-01-29 10:12:55.959 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2661 closed
2026-01-29 10:12:55.960 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2661 to close
2026-01-29 10:12:55.960 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2661 closed
2026-01-29 10:12:55.976 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2664 in background...
2026-01-29 10:12:55.977 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2664...
2026-01-29 10:12:55.981 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2664:stdOut> hello world
2026-01-29 10:12:55.981 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2664 finished
2026-01-29 10:12:55.984 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2664 (command 'echo hello world') to terminate...
2026-01-29 10:12:55.984 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2664...
2026-01-29 10:12:55.984 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2664 to close
2026-01-29 10:12:55.985 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2664 finished
2026-01-29 10:12:55.985 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2664 closed
2026-01-29 10:12:55.985 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2664 to close
2026-01-29 10:12:55.986 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2664 closed
2026-01-29 10:12:56.031 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2667 in background...
2026-01-29 10:12:56.038 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2667...
2026-01-29 10:12:56.038 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2667:stdOut> /tmp/junit-15722848524353497154
2026-01-29 10:12:56.039 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2667 finished
2026-01-29 10:12:56.039 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2667 (command 'pwd') to terminate...
2026-01-29 10:12:56.039 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2667...
2026-01-29 10:12:56.039 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2667 to close
2026-01-29 10:12:56.040 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2667 finished
2026-01-29 10:12:56.040 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2667 closed
2026-01-29 10:12:56.040 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2667 to close
2026-01-29 10:12:56.040 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2667 closed