timmy hat die Gist bearbeitet 10 months ago. Zu Änderung gehen
Keine Änderungen
timmy hat die Gist bearbeitet 10 months ago. Zu Änderung gehen
Keine Änderungen
timmy hat die Gist bearbeitet 1 year ago. Zu Änderung gehen
1 file changed, 30 insertions
asyncio_run_command.py(Datei erstellt)
| @@ -0,0 +1,30 @@ | |||
| 1 | + | import asyncio | |
| 2 | + | ||
| 3 | + | async def run_command(*args): | |
| 4 | + | # 建立子行程 | |
| 5 | + | process = await asyncio.create_subprocess_exec( | |
| 6 | + | *args, | |
| 7 | + | stdout=asyncio.subprocess.PIPE, | |
| 8 | + | stderr=asyncio.subprocess.PIPE) | |
| 9 | + | ||
| 10 | + | # 等待子行程完成 | |
| 11 | + | stdout, stderr = await process.communicate() | |
| 12 | + | ||
| 13 | + | # 輸出結果 | |
| 14 | + | if stdout: | |
| 15 | + | print(f'[stdout]\n{stdout.decode()}') | |
| 16 | + | if stderr: | |
| 17 | + | print(f'[stderr]\n{stderr.decode()}') | |
| 18 | + | ||
| 19 | + | # 執行指令 | |
| 20 | + | # asyncio.run(run_command('ls', '-l')) | |
| 21 | + | # asyncio.run(run_command('ping', 'www.google.com')) | |
| 22 | + | ||
| 23 | + | # 執行指令 | |
| 24 | + | async def main(): | |
| 25 | + | await asyncio.gather( | |
| 26 | + | run_command('ping', '-c', '4', 'www.google.com'), | |
| 27 | + | run_command('ls', '-l') | |
| 28 | + | ) | |
| 29 | + | ||
| 30 | + | asyncio.run(main()) | |
Neuer
Älter