SimpleProcessTest

24

tests

0

failures

0

ignored

0.531s

duration

100%

successful

Tests

Test Duration Result
currentProcessWorkingDir() 0.220s passed
customExecutor() 0.019s passed
customLogLevel() 0.016s passed
destroyForcibly() 0.011s passed
destroyForciblyWaitForTermination() 0.011s passed
destroyTerminatesProcess() 0.010s passed
destroyTerminatesProcessWaitForTermination() 0.016s passed
processExitNonZero() 0.015s passed
processExitZero() 0.009s passed
processWritesMultipleLinesToStdOut() 0.010s passed
processWritesToStdErr() 0.015s passed
processWritesToStdOut() 0.010s passed
processWritesToStdOutAndStdErr() 0.013s passed
processWritesToStdOutWithoutTrailingNewline() 0.010s passed
redirectErrorStream() 0.012s passed
startingFails() 0.004s passed
streamConsumerCloseTimeout() 0.012s passed
waitForTerminationDoesNotDestroyProcess() 0.022s passed
waitForTerminationWithCorrectExpectedExitCode() 0.021s passed
waitForTerminationWithTimeout() 0.006s passed
waitForTerminationWithWrongExpectedExitCode() 0.012s passed
waitForTerminationWithoutTimeout() 0.012s passed
workingDirDefined(Path) 0.028s passed
workingDirNull() 0.017s passed

Standard error

2025-12-06 14:31:58.897 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2554 in background...
2025-12-06 14:31:58.935 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2554...
2025-12-06 14:31:58.936 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2554...
2025-12-06 14:31:58.936 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2554:stdOut> /home/runner/work/simple-process/simple-process
2025-12-06 14:31:58.938 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2554 finished
2025-12-06 14:31:58.937 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2554 (command 'pwd') to terminate...
2025-12-06 14:31:58.945 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2554 to close
2025-12-06 14:31:58.946 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2554 finished
2025-12-06 14:31:58.947 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2554 closed
2025-12-06 14:31:58.947 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2554 to close
2025-12-06 14:31:58.948 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2554 closed
2025-12-06 14:31:59.083 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2558 in background...
2025-12-06 14:31:59.084 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2558...
2025-12-06 14:31:59.085 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2558 (command 'pwd') to terminate...
2025-12-06 14:31:59.086 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2558...
2025-12-06 14:31:59.087 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2558 finished
2025-12-06 14:31:59.088 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2558:stdOut> /home/runner/work/simple-process/simple-process
2025-12-06 14:31:59.089 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2558 finished
2025-12-06 14:31:59.089 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2558 to close
2025-12-06 14:31:59.091 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2558 closed
2025-12-06 14:31:59.091 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2558 to close
2025-12-06 14:31:59.092 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2558 closed
2025-12-06 14:31:59.096 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2561 in background...
2025-12-06 14:31:59.098 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2561...
2025-12-06 14:31:59.099 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2561 finished
2025-12-06 14:31:59.102 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2561...
2025-12-06 14:31:59.103 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting PT0.003S for process 2561 (command 'sh -c echo 'hello world' >&2') to terminate...
2025-12-06 14:31:59.103 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2561:stdErr> hello world
2025-12-06 14:31:59.104 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2561 finished
2025-12-06 14:31:59.104 [FINEST ] org.itsallcode.process.SimpleProcess waitForTermination org.itsallcode.process.SimpleProcess Process 2561 (command 'sh -c echo 'hello world' >&2') terminated with exit code 0
2025-12-06 14:31:59.105 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2561 to close
2025-12-06 14:31:59.106 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2561 closed
2025-12-06 14:31:59.106 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2561 to close
2025-12-06 14:31:59.106 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2561 closed
2025-12-06 14:31:59.112 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2564 in background...
2025-12-06 14:31:59.113 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2564...
2025-12-06 14:31:59.114 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2564:stdOut> hello world
2025-12-06 14:31:59.115 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2564 finished
2025-12-06 14:31:59.115 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2564...
2025-12-06 14:31:59.115 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2564 (command 'echo hello world') to terminate...
2025-12-06 14:31:59.117 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2564 to close
2025-12-06 14:31:59.117 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2564 closed
2025-12-06 14:31:59.117 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2564 finished
2025-12-06 14:31:59.118 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2564 to close
2025-12-06 14:31:59.119 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2564 closed
2025-12-06 14:31:59.124 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2567 in background...
2025-12-06 14:31:59.126 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2567...
2025-12-06 14:31:59.127 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2567 finished
2025-12-06 14:31:59.127 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting PT0.003S for process 2567 (command 'false') to terminate...
2025-12-06 14:31:59.128 [FINEST ] org.itsallcode.process.SimpleProcess waitForTermination org.itsallcode.process.SimpleProcess Process 2567 (command 'false') terminated with exit code 1
2025-12-06 14:31:59.128 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2567 to close
2025-12-06 14:31:59.128 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2567 closed
2025-12-06 14:31:59.127 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2567...
2025-12-06 14:31:59.129 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2567 finished
2025-12-06 14:31:59.130 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2567 to close
2025-12-06 14:31:59.131 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2567 closed
2025-12-06 14:31:59.140 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2570 in background...
2025-12-06 14:31:59.141 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2570...
2025-12-06 14:31:59.143 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2570 (command 'sleep 1') to terminate...
2025-12-06 14:31:59.143 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2570...
2025-12-06 14:31:59.144 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Reading stream 'stdErr' of process 2570 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)

2025-12-06 14:31:59.144 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2570 finished
2025-12-06 14:31:59.144 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2570 to close
2025-12-06 14:31:59.150 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2570 closed
2025-12-06 14:31:59.151 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2570 to close
2025-12-06 14:31:59.151 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2570 closed
2025-12-06 14:31:59.156 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2573 in background...
2025-12-06 14:31:59.158 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2573...
2025-12-06 14:31:59.160 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting PT0.01S for process 2573 (command 'sleep 1') to terminate...
2025-12-06 14:31:59.160 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2573...
2025-12-06 14:31:59.178 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2576 in background...
2025-12-06 14:31:59.179 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2576...
2025-12-06 14:31:59.179 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2576 (command 'echo -n hello world') to terminate...
2025-12-06 14:31:59.179 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2576...
2025-12-06 14:31:59.180 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2576:stdOut> hello world
2025-12-06 14:31:59.181 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2576 to close
2025-12-06 14:31:59.181 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2576 finished
2025-12-06 14:31:59.181 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2576 finished
2025-12-06 14:31:59.183 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2576 closed
2025-12-06 14:31:59.184 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2576 to close
2025-12-06 14:31:59.184 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2576 closed
2025-12-06 14:31:59.188 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2580 in background...
2025-12-06 14:31:59.191 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2580...
2025-12-06 14:31:59.193 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2580:stdOut> hello
2025-12-06 14:31:59.193 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2580 finished
2025-12-06 14:31:59.196 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2580...
2025-12-06 14:31:59.200 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2580 finished
2025-12-06 14:31:59.202 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2580 (command 'echo hello') to terminate...
2025-12-06 14:31:59.203 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2580 to close
2025-12-06 14:31:59.203 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2580 closed
2025-12-06 14:31:59.205 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2580 to close
2025-12-06 14:31:59.206 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2580 closed
2025-12-06 14:31:59.212 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2583 in background...
2025-12-06 14:31:59.216 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2583 (command 'echo hello world') to terminate...
2025-12-06 14:31:59.216 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2583...
2025-12-06 14:31:59.218 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2583 finished
2025-12-06 14:31:59.216 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2583 to close
2025-12-06 14:31:59.216 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2583...
2025-12-06 14:31:59.219 [INFO   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2583:stdOut> hello world
2025-12-06 14:31:59.221 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2583 finished
2025-12-06 14:31:59.221 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2583 closed
2025-12-06 14:31:59.222 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2583 to close
2025-12-06 14:31:59.222 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2583 closed
2025-12-06 14:31:59.229 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2586 in background...
2025-12-06 14:31:59.232 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2586...
2025-12-06 14:31:59.232 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2586:stdOut> hello world
2025-12-06 14:31:59.232 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2586 (command 'echo hello world') to terminate...
2025-12-06 14:31:59.234 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2586 to close
2025-12-06 14:31:59.234 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2586 finished
2025-12-06 14:31:59.237 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2586...
2025-12-06 14:31:59.237 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2586 finished
2025-12-06 14:31:59.239 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2586 closed
2025-12-06 14:31:59.240 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2586 to close
2025-12-06 14:31:59.241 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2586 closed
2025-12-06 14:31:59.247 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2588 in background...
2025-12-06 14:31:59.248 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2588...
2025-12-06 14:31:59.249 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2588:stdOut> 2: std out
2025-12-06 14:31:59.250 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2588:stdOut> 4: std out
2025-12-06 14:31:59.250 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2588 finished
2025-12-06 14:31:59.250 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2588...
2025-12-06 14:31:59.251 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2588:stdErr> 1: std err
2025-12-06 14:31:59.250 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting PT0.003S for process 2588 (command 'sh -c echo '1: std err' >&2 && echo '2: std out' && echo '3: std err' >&2 && echo '4: std out'') to terminate...
2025-12-06 14:31:59.253 [FINEST ] org.itsallcode.process.SimpleProcess waitForTermination org.itsallcode.process.SimpleProcess Process 2588 (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
2025-12-06 14:31:59.254 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2588 to close
2025-12-06 14:31:59.253 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2588:stdErr> 3: std err
2025-12-06 14:31:59.255 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2588 finished
2025-12-06 14:31:59.255 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2588 closed
2025-12-06 14:31:59.255 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2588 to close
2025-12-06 14:31:59.256 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2588 closed
2025-12-06 14:31:59.261 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2591 in background...
2025-12-06 14:31:59.262 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2591...
2025-12-06 14:31:59.263 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2591 finished
2025-12-06 14:31:59.263 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting PT0.003S for process 2591 (command 'true') to terminate...
2025-12-06 14:31:59.264 [FINEST ] org.itsallcode.process.SimpleProcess waitForTermination org.itsallcode.process.SimpleProcess Process 2591 (command 'true') terminated with exit code 0
2025-12-06 14:31:59.264 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2591 to close
2025-12-06 14:31:59.264 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2591 closed
2025-12-06 14:31:59.264 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2591 to close
2025-12-06 14:31:59.265 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2591...
2025-12-06 14:31:59.266 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2591 finished
2025-12-06 14:31:59.266 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2591 closed
2025-12-06 14:31:59.275 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2595 in background...
2025-12-06 14:31:59.277 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2595...
2025-12-06 14:31:59.277 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2595:stdOut> 1: std err
2025-12-06 14:31:59.277 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2595...
2025-12-06 14:31:59.277 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2595 finished
2025-12-06 14:31:59.277 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting PT0.003S for process 2595 (command 'sh -c echo '1: std err' >&2 && echo '2: std out' && echo '3: std err' >&2 && echo '4: std out'') to terminate...
2025-12-06 14:31:59.278 [FINEST ] org.itsallcode.process.SimpleProcess waitForTermination org.itsallcode.process.SimpleProcess Process 2595 (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
2025-12-06 14:31:59.277 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2595:stdOut> 2: std out
2025-12-06 14:31:59.278 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2595 to close
2025-12-06 14:31:59.279 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2595:stdOut> 3: std err
2025-12-06 14:31:59.282 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2595:stdOut> 4: std out
2025-12-06 14:31:59.282 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2595 finished
2025-12-06 14:31:59.284 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2595 closed
2025-12-06 14:31:59.284 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2595 to close
2025-12-06 14:31:59.284 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2595 closed
2025-12-06 14:31:59.289 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2598 in background...
2025-12-06 14:31:59.291 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2598...
2025-12-06 14:31:59.291 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2598...
2025-12-06 14:31:59.291 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2598 (command 'sh -c echo 'line 1' && echo 'line 2'') to terminate...
2025-12-06 14:31:59.292 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2598 to close
2025-12-06 14:31:59.291 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2598:stdOut> line 1
2025-12-06 14:31:59.293 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2598:stdOut> line 2
2025-12-06 14:31:59.293 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2598 finished
2025-12-06 14:31:59.293 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2598 finished
2025-12-06 14:31:59.294 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2598 closed
2025-12-06 14:31:59.294 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2598 to close
2025-12-06 14:31:59.295 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2598 closed
2025-12-06 14:31:59.300 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2601 in background...
2025-12-06 14:31:59.302 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2601...
2025-12-06 14:31:59.302 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2601:stdOut> hello world
2025-12-06 14:31:59.303 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2601 finished
2025-12-06 14:31:59.303 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2601...
2025-12-06 14:31:59.303 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2601 (command 'echo hello world') to terminate...
2025-12-06 14:31:59.305 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT3S for stream 'stdOut' of process 2601 to close
2025-12-06 14:31:59.305 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2601 closed
2025-12-06 14:31:59.305 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT3S for stream 'stdErr' of process 2601 to close
2025-12-06 14:31:59.304 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2601 finished
2025-12-06 14:31:59.308 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2601 closed
2025-12-06 14:31:59.312 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2604 in background...
2025-12-06 14:31:59.313 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2604...
2025-12-06 14:31:59.313 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2604:stdOut> hello world
2025-12-06 14:31:59.313 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2604 finished
2025-12-06 14:31:59.313 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2604...
2025-12-06 14:31:59.314 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2604 finished
2025-12-06 14:31:59.313 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting PT0.003S for process 2604 (command 'echo hello world') to terminate...
2025-12-06 14:31:59.314 [FINEST ] org.itsallcode.process.SimpleProcess waitForTermination org.itsallcode.process.SimpleProcess Process 2604 (command 'echo hello world') terminated with exit code 0
2025-12-06 14:31:59.314 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2604 to close
2025-12-06 14:31:59.315 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2604 closed
2025-12-06 14:31:59.315 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2604 to close
2025-12-06 14:31:59.315 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2604 closed
2025-12-06 14:31:59.319 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2607 in background...
2025-12-06 14:31:59.320 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2607...
2025-12-06 14:31:59.321 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting PT0.01S for process 2607 (command 'sleep 1') to terminate...
2025-12-06 14:31:59.322 [FINEST ] org.itsallcode.process.SimpleProcess waitForTermination org.itsallcode.process.SimpleProcess Process 2607 (command 'sleep 1') terminated with exit code 137
2025-12-06 14:31:59.322 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2607 to close
2025-12-06 14:31:59.322 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2607 finished
2025-12-06 14:31:59.323 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2607 closed
2025-12-06 14:31:59.323 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2607 to close
2025-12-06 14:31:59.322 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2607...
2025-12-06 14:31:59.324 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Reading stream 'stdErr' of process 2607 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)

2025-12-06 14:31:59.326 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2607 closed
2025-12-06 14:31:59.330 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2610 in background...
2025-12-06 14:31:59.332 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2610...
2025-12-06 14:31:59.332 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2610 (command 'sleep 1') to terminate...
2025-12-06 14:31:59.332 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Reading stream 'stdOut' of process 2610 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)

2025-12-06 14:31:59.335 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2610...
2025-12-06 14:31:59.336 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Reading stream 'stdErr' of process 2610 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)

2025-12-06 14:31:59.337 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2610 to close
2025-12-06 14:31:59.337 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2610 closed
2025-12-06 14:31:59.338 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2610 to close
2025-12-06 14:31:59.338 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2610 closed
2025-12-06 14:31:59.345 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2613 in background...
2025-12-06 14:31:59.347 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2613...
2025-12-06 14:31:59.347 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2613...
2025-12-06 14:31:59.347 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2613 finished
2025-12-06 14:31:59.347 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2613 (command 'echo hello') to terminate...
2025-12-06 14:31:59.348 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2613 to close
2025-12-06 14:31:59.347 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2613:stdOut> hello
2025-12-06 14:31:59.348 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2613 finished
2025-12-06 14:31:59.349 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2613 closed
2025-12-06 14:31:59.349 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2613 to close
2025-12-06 14:31:59.349 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2613 closed
2025-12-06 14:31:59.353 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2616 in background...
2025-12-06 14:31:59.355 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2616...
2025-12-06 14:31:59.355 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Reading stream 'stdErr' of process 2616 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)

2025-12-06 14:31:59.356 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2616...
2025-12-06 14:31:59.357 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Reading stream 'stdOut' of process 2616 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)

2025-12-06 14:31:59.355 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting PT0.01S for process 2616 (command 'sleep 1') to terminate...
2025-12-06 14:31:59.357 [FINEST ] org.itsallcode.process.SimpleProcess waitForTermination org.itsallcode.process.SimpleProcess Process 2616 (command 'sleep 1') terminated with exit code 143
2025-12-06 14:31:59.358 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2616 to close
2025-12-06 14:31:59.358 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2616 closed
2025-12-06 14:31:59.358 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2616 to close
2025-12-06 14:31:59.358 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2616 closed
2025-12-06 14:31:59.365 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2619 in background...
2025-12-06 14:31:59.367 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2619...
2025-12-06 14:31:59.368 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2619:stdOut> hello world
2025-12-06 14:31:59.369 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2619 (command 'echo hello world') to terminate...
2025-12-06 14:31:59.369 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2619...
2025-12-06 14:31:59.370 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2619 finished
2025-12-06 14:31:59.369 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2619 finished
2025-12-06 14:31:59.369 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2619 to close
2025-12-06 14:31:59.371 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2619 closed
2025-12-06 14:31:59.371 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2619 to close
2025-12-06 14:31:59.372 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2619 closed
2025-12-06 14:31:59.386 [FINEST ] org.itsallcode.process.ProcessOutputConsumer start org.itsallcode.process.ProcessOutputConsumer Start reading stdout and stderr streams of process 2622 in background...
2025-12-06 14:31:59.388 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdOut' stream of process 2622...
2025-12-06 14:31:59.388 [FINE   ] org.itsallcode.process.StreamLogger accept org.itsallcode.process.StreamLogger 2622:stdOut> /tmp/junit-11916538716794735326
2025-12-06 14:31:59.388 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdOut' of process 2622 finished
2025-12-06 14:31:59.389 [FINEST ] org.itsallcode.process.SimpleProcess waitForProcess org.itsallcode.process.SimpleProcess Waiting for process 2622 (command 'pwd') to terminate...
2025-12-06 14:31:59.389 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdOut' of process 2622 to close
2025-12-06 14:31:59.389 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdOut' of process 2622 closed
2025-12-06 14:31:59.390 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Waiting PT1S for stream 'stdErr' of process 2622 to close
2025-12-06 14:31:59.390 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Start reading from 'stdErr' stream of process 2622...
2025-12-06 14:31:59.391 [FINEST ] org.itsallcode.process.AsyncStreamConsumer run org.itsallcode.process.AsyncStreamConsumer Stream 'stdErr' of process 2622 finished
2025-12-06 14:31:59.392 [FINEST ] org.itsallcode.process.StreamCloseWaiter waitUntilStreamClosed org.itsallcode.process.StreamCloseWaiter Stream 'stdErr' of process 2622 closed