الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مسآعدة في ctrl z & c

بدأه alone1 في 10 يونيو 2010 · 6 رد · 2,354 مشاهدة · في لغة Perl
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركآته

أخواني عندي مشكله ماقدرت احلهآ .. وهي عند تنفيذ برنآمج بلغة البيرل اريده ان يستمر بالتنفيذ ولا يستطيع احد ايقافه حتى ينتهي ..

باختصار اريد منع ctrl+c و ctrl+z من التنفيذ لكي لايتوقف البرنآمج ..

مثال للبرنامج

#!/usr/bin/perl -w

while (1 < 2){

print "a\n";

}

اريده ان يستمر بالتنفيذ حتى اغلق التيرمنآل من علامة الاكس بالاعلى وليس ب كنترول سي ..

اتمنى يكون سؤالي وآضح والقى الجوآب من أهل الخبره

#2

انت تقدر تصطاد ال signals

$SIG{'SIGNAME'}='HANDLER'

حيث ال HANDLER هو اسم الدالة اللى عايز تنفيذها

و SIGNAME هى اسم الsignal

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#3

حيآك الله وجزآك خير على ردك ..

بس لو توضح لي أكثر لأني مبتدأ ولم أفهم مقصدكـ،

#4

انت مش عارف يعنى ايه ال signals ؟

هى عموما رسايل للبرنامج ممكن ترسل ليه عن طريقك او عن طريق النظام

ولمعالجتها فى بيرل موجود هاش SIG بيشمل الsignals كمفاتيح والمعالجات ليها ال CALLBACKS او الدوال اللى هتعرفها ليتم تنفيذها عند وصول الإشارة والعملية دى اسمها اصطياد ال signals

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#5

^ ^يعطيك العافيه اخوي

وضحت فايدة السقنل .. لكن كيف استخدمه بحيث أنه يمنع لي ctrl+c & ctrl+z الي هم مسؤولين عن توقف عمل البرنآمج بالقوه !

وشآكر لك مسآعدتك ..

#6

ياأخى ^C بتبعت SIGINT فإنت تقدر تحدد الإجراء اللى عايز يتم تنفيذه عليها عن طريق الهاش SIG

على سبيل المثال

$SIG{INT} = 'IGNORE';

هنا هتتخطى الرد الإفتراضى للتعامل مع السيجنال بالتجاهل

او

$SIG{INT} = 'MYSUB;

وهنا هيتم تنفيذ ال subroutine المسمى ب MYSUB -هتقوم بتعريفه- فى حال وصول SIGINT للبرنامج.

وبنفس الكيفية ^Z

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#7

جزآك الله خير أخوي .. صراحه وضحت لي شي كثييير

عآفاك الله ووفقك

مواضيع مشابهة