asyncio doc: rewrite subprocess doc
* add a new example using transport and protocol
* rewrite the example using streams to make it much simpler (remove error
handling, use a simpler Python code)
* copy (and adapt) more documentation from the subprocess module:
- add a note about Process.wait() deadlock
- add a note about shell injection
- etc.
* sort Process methods and attributes in the same order than subprocess.Popen
methods and attributes, so the documentation looks closer
* list differences between Process and subprocess.Popen APIs
diff --git a/Doc/library/subprocess.rst b/Doc/library/subprocess.rst
index b2238f0..36cbf3c 100644
--- a/Doc/library/subprocess.rst
+++ b/Doc/library/subprocess.rst
@@ -634,7 +634,7 @@
``None``, if no data should be sent to the child. The type of *input*
must be bytes or, if *universal_newlines* was ``True``, a string.
- :meth:`communicate` returns a tuple ``(stdoutdata, stderrdata)``.
+ :meth:`communicate` returns a tuple ``(stdout_data, stderr_data)``.
Note that if you want to send data to the process's stdin, you need to create
the Popen object with ``stdin=PIPE``. Similarly, to get anything other than