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

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

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


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: برنامه با تابع Fork به زبان C در لینوکس  (دفعات بازدید: 12090 بار)

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

آفلاین majidkamali1370

  • Hero Member
  • *
  • ارسال: 928
  • جنسیت : پسر
پاسخ : برنامه با تابع Fork به زبان C در لینوکس
« پاسخ #15 : 19 آبان 1391، 09:43 ق‌ظ »
شما اینها رو هم به برنامت اضافه کن که بتونی ID پروسه رو بگیری.
pid_t pid;
pid = fork();
حالا متغیر pid آی دی اون پروسه رو داره.
Ubuntu 14.04 LTS 64-bit - unity

آفلاین newman2006006

  • Newbie
  • *
  • ارسال: 13
  • جنسیت : پسر
پاسخ : برنامه با تابع Fork به زبان C در لینوکس
« پاسخ #16 : 19 آبان 1391، 10:07 ق‌ظ »
متشکرم از حوابتون.

آفلاین newman2006006

  • Newbie
  • *
  • ارسال: 13
  • جنسیت : پسر
پاسخ : برنامه با تابع Fork به زبان C در لینوکس
« پاسخ #17 : 19 آبان 1391، 10:45 ق‌ظ »
با توجه به جواب های شما شد این ، لطفاً بگید تحلیل من کجاش اشتباست.
#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<sys/types.h>
int main()
{
pid_t pid_1;
pid_t pid_2;
pid_t pid_3;
pid_t pid_4;

pid_1=fork();
pid_2=fork();
pid_3=fork();
pid_4=fork();

if(pid_1==0)
{
printf("The proccess is child and id is %d",getpid());
printf("The proccess is parent and id is %d",getppid());
}
else
{
printf("The proccess is parent and id is %d",getpid());
printf("The proccess is parent and id is %d",getppid());
}
if(pid_2==0)
{
printf("The proccess is child and id is %d",getpid());
printf("The proccess is parent and id is %d",getppid());
}
else
{
printf("The proccess is parent and id is %d",getpid());
printf("The proccess is parent and id is %d",getppid());
}
if(pid_3==0)
{
printf("The proccess is child and id is %d",getpid());
printf("The proccess is parent and id is %d",getppid());
}
else
{
printf("The proccess is parent and id is %d",getpid());
printf("The proccess is parent and id is %d",getppid());
}
if(pid_4==0)
{
printf("The proccess is child and id is %d",getpid());
printf("The proccess is parent and id is %d",getppid());
}
else
{
printf("The proccess is parent and id is %d",getpid());
printf("The proccess is parent and id is %d",getppid());
}

}

آفلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4869
  • جنسیت : پسر
  • masoft قدیم
پاسخ : برنامه با تابع Fork به زبان C در لینوکس
« پاسخ #18 : 19 آبان 1391، 03:41 ب‌ظ »
راهنمایی: باید قبل از اینکه دستور fork رو اجرا بکنی، بررسی بکنی که آیا باید اجرا بشه یا نه. (چک کنی الان در parent هستی یا در child)

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19719
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : برنامه با تابع Fork به زبان C در لینوکس
« پاسخ #19 : 19 آبان 1391، 09:11 ب‌ظ »
به نظرم قبلش مطالب مربوط به فراخوان‌های سیستمی رو تو کتاب «طراحی و پیاده‌سازی سیستم‌های عامل» از آقامون تنن‌باوم بخون. کدت رو نمی شه خوند، چون منطقش مشکل داره
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین امین - am1n

  • Sr. Member
  • *
  • ارسال: 467
  • جنسیت : پسر
  • ... روش دین توضیح شناخته‌ها بوسیله ناشناخته‌هاست!!
    • دات امین / حرف های آزاد من
پاسخ : برنامه با تابع Fork به زبان C در لینوکس
« پاسخ #20 : 12 بهمن 1391، 12:51 ب‌ظ »
اگه وقت کنم چند روز دیگه حتما این برنامه رو می شینم می نویسم :) باحاله