PDA

View Full Version : حرفه ای: دستور exec



billgivz
سه شنبه 25 تیر 1398, 22:16 عصر
دوستان عزیز کسی کارکرد دستور صحیح exec را در کد زیر میدونه ؟



<?php
function pp(){ for($j=0;$j<=100000;$j++) echo "hello world"; }
for($i=0;$i<=100;$i++){ exec(pp());};
?>

ali_sed
چهارشنبه 26 تیر 1398, 12:30 عصر
سلام

در توضیحات دستور آمده است exec — Execute an external program که بود و نبودش در اینجا تاثیری ندارد.

قصد شما از اجرای این دستور چیست؟ آیا میخواهید دستورات خود را بصورت موازی اجرا کنید؟

billgivz
چهارشنبه 26 تیر 1398, 19:09 عصر
سلام

در توضیحات دستور آمده است exec — Execute an external program که بود و نبودش در اینجا تاثیری ندارد.

قصد شما از اجرای این دستور چیست؟ آیا میخواهید دستورات خود را بصورت موازی اجرا کنید؟


بله بصورت موازی اجرا بشه که سرعتش بیشتر بشه

ali_sed
پنج شنبه 27 تیر 1398, 00:27 صبح
بله بصورت موازی اجرا بشه که سرعتش بیشتر بشه

برای اجرای موازی دستورات باید از pcntl_fork استفاده کنید البته روش های دیگری هم وجود دارد. دقت کنید که ایجاد 1000 تا کار موازی موجب افزایش سرعت اجرا نمی شود بلکه ممکن است مصرف منابع را نیز افزایش دهد. با توجه به سخت افزار خود این کار را انجام دهید.

ali_sed
پنج شنبه 27 تیر 1398, 00:35 صبح
از این روش هم می توانید استفاده کنید.



for ($i=0; $i<10; $i++) {
// open ten processes
for ($j=0; $j<10; $j++) {
$pipe[$j] = popen('script2.php', 'w');
}

// wait for them to finish
for ($j=0; $j<10; ++$j) {
pclose($pipe[$j]);
}
}

billgivz
جمعه 28 تیر 1398, 13:06 عصر
ممنون ولی فکر کنم این دستور باز زمان بر هست