@@ -62,8 +62,7 @@ Creating Subprocesses
62
62
63
63
The *limit * argument sets the buffer limit for :class: `StreamReader `
64
64
wrappers for :attr: `Process.stdout ` and :attr: `Process.stderr `
65
- (if :attr: `subprocess.PIPE ` is passed to *stdout * and *stderr *
66
- arguments).
65
+ (if :attr: `subprocess.PIPE ` is passed to *stdout * and *stderr * arguments).
67
66
68
67
Return a :class: `~asyncio.subprocess.Process ` instance.
69
68
@@ -78,15 +77,14 @@ Creating Subprocesses
78
77
79
78
The *limit * argument sets the buffer limit for :class: `StreamReader `
80
79
wrappers for :attr: `Process.stdout ` and :attr: `Process.stderr `
81
- (if :attr: `subprocess.PIPE ` is passed to *stdout * and *stderr *
82
- arguments).
80
+ (if :attr: `subprocess.PIPE ` is passed to *stdout * and *stderr * arguments).
83
81
84
82
Return a :class: `~asyncio.subprocess.Process ` instance.
85
83
86
84
See the documentation of :meth: `loop.subprocess_shell ` for other
87
85
parameters.
88
86
89
- .. note ::
87
+ .. important ::
90
88
91
89
It is the application's responsibility to ensure that all whitespace and
92
90
metacharacters are quoted appropriately to avoid `shell injection
@@ -98,7 +96,8 @@ Creating Subprocesses
98
96
.. note ::
99
97
100
98
The default event loop that asyncio is pre-configured
101
- to use on **Windows ** does not support subprocesses.
99
+ to use on **Windows ** does not support subprocesses. Subprocesses are
100
+ available for Windows if the :class: `ProactorEventLoop ` is used.
102
101
See :ref: `Subprocess Support on Windows <asyncio-windows-subprocess >`
103
102
for details.
104
103
@@ -206,7 +205,7 @@ communicate with them.
206
205
exception is ignored. This condition occurs when the process
207
206
exits before all data are written into *stdin *.
208
207
209
- If its desired to send data to the process' *stdin *,
208
+ If it is desired to send data to the process' *stdin *,
210
209
the process needs to be created with ``stdin=PIPE ``. Similarly,
211
210
to get anything other than ``None `` in the result tuple, the
212
211
process has to be created with ``stdout=PIPE `` and/or
@@ -265,8 +264,8 @@ communicate with them.
265
264
Use the :meth: `communicate ` method rather than
266
265
:attr: `process.stdin.write() <stdin> `,
267
266
:attr: `await process.stdout.read() <stdout> ` or
268
- :attr: `await process.stderr.read <stderr> `
269
- to avoid deadlocks due to streams pausing reading or writing
267
+ :attr: `await process.stderr.read <stderr> `.
268
+ This avoids deadlocks due to streams pausing reading or writing
270
269
and blocking the child process.
271
270
272
271
.. attribute :: pid
0 commit comments