This implementation allows to read and write output without blocking
Bufferred version of Popen. Never locks, but uses unlimited buffers. May eat all the system memory, if something goes wrong.
Start the process
Stop the process
Check if process is alive
Write data to the subprocess
Read stdout data from the subprocess