3jokes
06-12-2014, 11:41
با سلام،
من سعی دارم کدی بنویسم که برنامه خاصی را در Dos اجرا کنه (یا همون CMD در ویندوز). ولی با توجه به این که اون برنامه گاهی اوقات هنگ می کنه، کد من لازمه که Timeout داشته باشه و بعد از فرا رسیدن Timeout برنامه ی Dos را kill کنه. پس از جستجو در سایت های انگلیسی، توانستم این کد رو برای قابلیت Timeout سرهم کنم که کار هم می کنه ولی این کد هنوز برنامه Dos رو kill نمی کنه:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
با جستجوی بیشتر متوجه شدم که باید از قابلیت fork استفاده کنم تا همزمان با اجرای برنامه Dos، بتونم PID برنامه اجرا شده رو ذخیره کنم و بعد با استفاده از این PID، برنامه DOS رو kill کنم. برای پیدا کردن PID برنامه اجرا شده این قطعه کد رو پیدا کردم:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ولی نمی دونم چه طور باید این قطعه کد رو در کد اصلی قرار بدهم. چون کپی پیست تنها جواب نداد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
من اصلا آشنایی با Perl ندارم و به دلیل کمبود وقت، نمی تونم این زبان رو یاد بگیرم، استفاده ای هم برای من نداره. من کل برنامه نویسی ای که انجام داده ام با Matlab هست و فقط همین یک کدی را که توضیح دادم از Perl لازم دارم. (چون قابلیت Timeout و kill در Matlab نیست). پس اگر لطف کنید کد من رو ویرایش کنید و کد نهایی رو به من بدهید بسیار ممنون خواهم شد.
من سعی دارم کدی بنویسم که برنامه خاصی را در Dos اجرا کنه (یا همون CMD در ویندوز). ولی با توجه به این که اون برنامه گاهی اوقات هنگ می کنه، کد من لازمه که Timeout داشته باشه و بعد از فرا رسیدن Timeout برنامه ی Dos را kill کنه. پس از جستجو در سایت های انگلیسی، توانستم این کد رو برای قابلیت Timeout سرهم کنم که کار هم می کنه ولی این کد هنوز برنامه Dos رو kill نمی کنه:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
با جستجوی بیشتر متوجه شدم که باید از قابلیت fork استفاده کنم تا همزمان با اجرای برنامه Dos، بتونم PID برنامه اجرا شده رو ذخیره کنم و بعد با استفاده از این PID، برنامه DOS رو kill کنم. برای پیدا کردن PID برنامه اجرا شده این قطعه کد رو پیدا کردم:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ولی نمی دونم چه طور باید این قطعه کد رو در کد اصلی قرار بدهم. چون کپی پیست تنها جواب نداد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
من اصلا آشنایی با Perl ندارم و به دلیل کمبود وقت، نمی تونم این زبان رو یاد بگیرم، استفاده ای هم برای من نداره. من کل برنامه نویسی ای که انجام داده ام با Matlab هست و فقط همین یک کدی را که توضیح دادم از Perl لازم دارم. (چون قابلیت Timeout و kill در Matlab نیست). پس اگر لطف کنید کد من رو ویرایش کنید و کد نهایی رو به من بدهید بسیار ممنون خواهم شد.