Bagaimana untuk Menjalankan Skrip Hamba Secara Asynchronous dalam Python menggunakan Invocation Proses Tidak Menyekat?

DDD
Lepaskan: 2024-10-19 13:47:29
asal
633 orang telah melayarinya

How to Run a Slave Script Asynchronously in Python using Non-Blocking Process Invocation?

Subproses.panggilan tanpa menyekat

Dalam senario ini, anda berhasrat untuk menggunakan skrip hamba (slave.py) daripada skrip induk (main.py) secara tidak segerak . Khususnya, anda mahu slave.py dijalankan secara bebas daripada main.py selepas menerima hujah daripada main.py semasa pelaksanaan awalnya.

Untuk mencapai kelakuan tidak menyekat, anda harus menggunakan subprocess.Popen dan bukannya subprocess.call . Perbezaan utama ialah subprocess.call menunggu arahan selesai sebelum meneruskan, manakala subprocess.Popen tidak.

Berikut ialah contoh menggunakan subprocess.Popen:

import subprocess

# Pass the arguments from main.py to slave.py
arguments = ['python', 'slave.py'] + sys.argv[1:]

# Launch slave.py as a non-blocking process
process = subprocess.Popen(arguments)
Salin selepas log masuk

Sekarang, utama .py boleh meneruskan pelaksanaannya semasa slave.py berjalan secara bebas.

Nota Tambahan:

  • Jangan gunakan senarai untuk menghantar argumen jika anda' menggunakan semula shell=True.
  • Sebagai alternatif, anda boleh memanfaatkan asyncio untuk selari berasaskan coroutine. Lihat contoh yang disediakan dalam jawapan asal untuk butiran.

Atas ialah kandungan terperinci Bagaimana untuk Menjalankan Skrip Hamba Secara Asynchronous dalam Python menggunakan Invocation Proses Tidak Menyekat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!