تبليغاتX
DIGITALDREAMS





    صفحه نخست  | آرشیو مطالب  | پروفایل من  | تماس  |


      وظایف ()System call fork

وظایف ()System call forkچیست؟

()System call fork برای ایجاد یک پردازش جدید به کار میرود . هیچ آرگومانی ندارد و شناسه یک پروسه را بر می گرداند.هدف از به کارگیری تابع ()Fork ایجاد یک پروسه زیرشاخه است که پروسه فراخواننده را بعنوان والد خود داراست.هر دوی پروسه ها دستورات بعد از فراخوانی تابع ()Fork  را اجرا می کنند بنابراین باید بتوانید پروسه فرزند و پروسه والد را تشخیص دهید.این عمل را میتوانید با تست مقدار ()Fork  انجام دهید:

اگر ()Fork  یک مقدار منفی بازگرداند، ایجاد پروسه فرزند با موفقیت همراه نبوده است.

اگر ()Fork مقدار صفر را بازگرداند بتازگی یک پروسه فرزند ایجاد کرده است.

اگر ()Fork  یک مقدار مثبت را بازگرداند ، این مقدار مثبت  شناسه پردازش پروسه فرزند است.که این شناسه از نوع T_id بوده و در سرفایل sys/types.h تعریف میشود.اگرچه شما با استفاده از تابع ()getpid هم میتوانید شناسه یک پروسه را بدست بیاورید.

توجه داشته باشید که یونیکس یک کپی دقیق از آدرس فضای پروسه والد تهیه کرده و آنرا در اختیار پروسه فرزند قرار میدهد بنابراین در یونیکس پروسه های فرزند و والد آدرس های متفاوتی خواهند داشت.