• 0

كيف أُنهي سكربت بايثون بدون استخدام Ctrl-c؟

أحاول إنهاء سكربت بايثون يحتوي على عدة خيوط عن طريق استخدام طريقة Ctrl-c لكنها لم تفلح، فما هي الطريقة الصحيحة لإنهاء سكربت يحتوي على عدة خيوط؟
مثال على السكربت الذي كتبته:

import threading

class FirstThread (threading.Thread):
        def run (self):
                while True:
                        print 'first'

class SecondThread (threading.Thread):
        def run (self):
                while True:
                        print 'second'

FirstThread().start()
SecondThread().start()

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

 أزرار ctrl و c سينهيان الخيط (thread) الرئيسي فقط لأن الخيوط الموجودة في تطبيقك ليست موجودة في وضع العفريت (daemon mode) لذلك ستبقى تعمل، وهذا ما يوجب جعل قيمة daemon تساوي True كما في المثال التالي:

f = FirstThread()
f.daemon = True
f.start()
s = SecondThread()
s.daemon = True
s.start()

وبهذا ستتمكن من إنهاء كامل السكربت عن طريق الضغط على أزرار Ctrl و c كالمعتاد.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن