The subprocess.Popen Class
Python bilan Subprocesslar Ishga Tushirish.
subprocess.Popen()
klassi
subprocess.Popen()
klassi subprocess
moduli qo‘shilganidan beri mavjud. U Python 3da bir necha bor yangilangan. Agar siz bu o‘zgarishlar haqida batafsil o‘rganishni istasangiz, quyidagi manzilda o‘qishingiz mumkin:
• Popen konstruktorining hujjati
Popen
ni run()
ning pastki darajadagi versiyasi sifatida tasavvur qilishingiz mumkin. Agar run()
sizning maxsus holatingizni bajarolmasa, unda Popen
ni ishlatishingiz kerak.
Hozircha, oldingi bo‘limdagi komandani Popen
yordamida qanday ishga tushirishingizni ko‘rib chiqamiz:
Natija:
Sintaksis deyarli bir xil, faqat run()
o‘rniga Popen
ishlatilyapti.
Tashqi jarayonning return code
ini qanday olishni ko‘rib chiqamiz:
Natija:
return_code
ning qiymati 0 bo‘lsa, bu dastur muvaffaqiyatli yakunlanganini anglatadi. Agar siz foydalanuvchi interfeysiga ega dastur ochsangiz, masalan, Microsoft Notepad, siz REPL yoki IDLE sessiyasiga qaytishingiz kerak bo‘ladi va process.wait()
qatorini qo‘shishingiz kerak. Buning sababi, Notepad dasturi sizning dasturingiz ustiga chiqadi.
Agar siz process.wait()
ni skriptga qo‘shmasangiz, tashqi dastur interfeysini qo‘lda yopgandan so‘ng, qaytish kodi olish imkoniyatingiz bo‘lmaydi.
Siz o‘z jarayonni pid
atributi orqali uning jarayon identifikatoriga (PID) kirishingiz mumkin. Shuningdek, jarayonni process.kill()
yordamida SIGKILL (o‘chirish) yoki process.terminate()
yordamida SIGTERM (tugatish) bilan o‘ldirishingiz mumkin.
SIGKILL / SIGTERM nima?
Agar siz "SIGKILL" va "SIGTERM" atamalari bilan tanish bo‘lmasangiz, ularni UNIX tizimlarida jarayonlarga ta'sir qilish uchun ishlatiladigan standart buyruqlar sifatida qabul qilishingiz mumkin. subprocess.Popen()
klassi ushbu buyruqlar bilan ishlash uchun qulay interfeysni taqdim etadi. Agar qiziqsangiz, Signal Handling haqida Vikipediada qo‘shimcha ma'lumot o‘qishingiz mumkin:
• Signal (IPC) - Vikipediya maqolasi
Last updated on