انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: فرستادن سیگنال در حین اجرای برنامه در bash  (دفعات بازدید: 1179 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین overboy

  • Newbie
  • *
  • ارسال: 2
  • جنسیت : پسر
سلام پیشاپیش از راهنماییتون ممنونم می خواستم بدونم چطور میشه سیگنال های مختلف رو در حین اجرای برنامه به bash فرستاد ؟
مثلا من فقط ctrl + c رو میدونم که crash میکنه و ctrl + z رو میدونم که stop میکنه بقیه سیگنال ها آیا کلید های
ترکیبی پیش فرض ندارند ؟! و اگه ندارند چطور میشه اونها رو وارد کرد ؟
ممنونم

آفلاین محسن صفری

  • Jr. Member
  • *
  • ارسال: 47
  • جنسیت : پسر
    • صفری آنلاین
از دستور kill برای ارسال سیگنال به برنامه های دیگه استفاده می شه .

دستور
kill -lلیست سیگنالهای موجود توی سیستم رو نشون می ده . عدد نمایش داده شده کنار هر سیگنال شماره سیگنال مربوطه است.

ترکیب CTRL+C سیگنال شماره 2 یا همون SIGINT هست که به برنامه سیگنال گیرنده اینتراپت می فرسته

 و معادل کد زیره :

kill -2 process_id
به طور کلی سیگنال  15 سیگنال پیش فرض دستور kill هست .

کاربرد کلی دستور :

kill -SIGNAL_NUMBER PROCESSID
« آخرین ویرایش: 28 بهمن 1392، 09:55 ب‌ظ توسط محسن صفری »

آفلاین ali.abry

  • High Hero Member
  • *
  • ارسال: 1224
این جا چند تا سیگنال رو نام برده
http://30li.org/bash/commands/kill

آفلاین mhch

  • Sr. Member
  • *
  • ارسال: 340
  • جنسیت : پسر
دوست من با ترکیبی که گفتی برنامه کرش نمیکنه
سیگنال دو میفرسته
همون جور که دوستمون گفتن با kill -L میتونی لیست سیگنال ها رو ببینی و توی اسکریپت با trap میتونی خودت سیگنال هات رو هندل کنی
در این زمانه بی های و هوی و لال پرست
خوشا بحال کلاغای قیل و غال پرست
به شب نشینی خرچنگ های مردابی
چگونه رقص کند ماهی زلال پرست
رسیده ها چه غریب و نچیده میافتند
به پای هرزه علف های باغ کال پرست
هنوز زنده ام و زنده بودنم خاریست
به تنگ چشمی نامردمان زوال پرست

آفلاین سوزه

  • Sr. Member
  • *
  • ارسال: 487
از دستور killall هم میتوانید استفاده کنید که آسونتره،همچنین ترمینال میزکار KDE به نام Konsole به صورت گرافیکی سیگنالهایی را در تب Edit در Main menu ی خود برای ارسال به برنامه در حال اجرا در اون صفحه از ترمینال دارد.
دیگه در این انجمن Log in و فعالیتی نخواهم داشت.