ورود

نسخه کامل مشاهده نسخه کامل : توضیح در مورد دستورات exec و fork



swthunter1
10-01-2011, 18:35
با سلام خدمت عزیزان
من یه پروژه ای دارم که حتما تا 18 بهمن باید تحویلش بدم
ممنون میشم اگه در مورد دستورات exec و fork راهنماییم کنید
:10:

ADRIEN
10-01-2011, 20:44
با سلام خدمت عزیزان
من یه پروژه ای دارم که حتما تا 18 بهمن باید تحویلش بدم
ممنون میشم اگه در مورد دستورات exec و fork راهنماییم کنید
:10:


سلام خدمت شما
دستور fork در سيستم عامل يونيكس كاربرد داره و براي ساختن يك پروسه ي جديد به كار ميره exec هم كه در يونيكس كاربد داره
اگه خاستي يه مطلب جامع برات مينويسم

swthunter1
11-01-2011, 10:03
سلام
بیشتر طرز کارش رو می خوام بدونم خیلی سرچ کردم ولی چیز جالبی پیدا نکردم
می خوا برنامه ای بنویسم با fork و exec ولی متاسفانه چون هیچی ازشون نمی دونم همین جوری موندم:41:

ADRIEN
11-01-2011, 23:50
سلام
بیشتر طرز کارش رو می خوام بدونم خیلی سرچ کردم ولی چیز جالبی پیدا نکردم
می خوا برنامه ای بنویسم با fork و exec ولی متاسفانه چون هیچی ازشون نمی دونم همین جوری موندم:41:


يه سيستم عامل مبتني بر يونيكس بنصب
چيزهاي زيادي دستگيرت ميشه
اينم يه مطلب راجع به FORK از barnamenevis

رای ساخت یه پروسه ی جدید در یونیکس (و البته شبه یونیکس!) از fork استفاده می شه یا اصطلاحان می گن فلان پروسه fork میشه. موقعی که fork انجام می شه یه پروسه ی جدید ساخته می شه که در واقع کپی از پروسه ای هست که در اون fork صدا شده. این پروسه جدید (child) خواص زیادی رو از پروسه پروسه ی قبلی (parent) به ارث می بره مثل uid و stdin و stdout و env variables. بعد از اجرای پروسه ی child کنترل برنامه به پروسه ی parent بر می گرده.
مثال می تونه این باشه که شما در پوسته (shell) سیستم عامل مثلا دستور
کد:

man fork

رو اجرا کنید. پروسه ی child برای echo به وجود می یاد و بعد از خاتمه دوباره پوسته فعال می شه.
این که پرسیدی انواع fork باید بگم fork همین مفهوم را داره و نوع دیگه ای از fork نمی شناسم. (مثلا exec عملکرد متفاوتی داره و fork نیست) در اسکریپت نویسی Bash هم دستوراتی که درون {} هستند یک subshell ایجاد می کنند. (یه shell جدید fork می کنن). شاید اینکه بپرسیم کجاها دقیقا fork می شه بهتر باشه.

swthunter1
12-01-2011, 11:07
مرسی عزیزم مفید بود