လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> proc_nice function ကိုအသုံးပြုသောအခါ, ဦး စားပေးအောင်မြင်မှုရှိမရှိကိုသင်မည်သို့စစ်ဆေးသနည်း။

proc_nice function ကိုအသုံးပြုသောအခါ, ဦး စားပေးအောင်မြင်မှုရှိမရှိကိုသင်မည်သို့စစ်ဆေးသနည်း။

gitbox 2025-06-15

PHP တွင် proc_nice () သည်လက်ရှိဖြစ်စဉ်ကို ဦး စားပေးရန်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ နောက်ခံအလုပ်များ, Batch scripts သို့မဟုတ်သယံဇာတများကိုအထူးသဖြင့် CPU သို့လက်ရှိ scriptive စစ်ဆင်ရေးများကဲ့သို့သောစနစ်အရင်းအမြစ်နေထိုင်မှုပမာဏကိုထိန်းညှိရန်လိုအပ်သည့်အခါ၎င်းသည်အသုံးဝင်သည်။

သို့သော် proc_nice () function နှင့်ပြ problem နာကအမှားတစ်ခုသို့မဟုတ်ခြွင်းချက်တစ်ခုမချမှတ်နိုင်သော်လည်း Boolean Value ကိုပြန်ပေးရန်ဖြစ်သည်။ ဆိုလိုသည်မှာသင်သည်လုပ်ငန်းစဉ်၏ ဦး စားပေး "(အမှန်တကယ်" ဦး စားပေးဘက်လိုက်မှု ") ကိုအောင်မြင်စွာသတ်မှတ်ထားကြောင်းအတည်ပြုရန်၎င်း၏ပြန်လာတန်ဖိုးကိုအတိအလင်းစစ်ဆေးရန်လိုအပ်သည်။

အခြေခံအသုံးပြုမှု

Proc_nice () သည် အဓိက ဦး စားပေးအပေါ် အခြေခံ. offset တန်ဖိုးကိုညွှန်ပြသည့်ကိန်းဂဏန်း Parameter $ တိုးခြင်းကို လက်ခံရရှိသည်။ ပိုကြီးတဲ့တန်ဖိုး, ဦး စားပေးအနိမ့်အနိမ့် (i.e. , ပိုကောင်း "); သေးငယ်သည်တန်ဖိုး (သို့မဟုတ်ပင်အနုတ်လက်ခဏာ), ဦး စားပေးအဆင့်မြင့်သည် (I.E. , "ပိုမိုအရေးတကြီး") ။

 <?php
$success = proc_nice(10);

if ($success) {
    echo "ဖြစ်စဉ်ကို ဦး စားပေးအောင်မြင်စွာသတ်မှတ်ထားခဲ့သည်。\n";
} else {
    echo "လုပ်ငန်းစဉ် ဦး စားပေးသတ်မှတ်ရန်ပျက်ကွက်,ခွင့်ပြုချက်မလုံလောက်မှုရှိနိုင်သည်。\n";
}
?>

စစ်ဆေးခြင်းပျက်ကွက်မှုအတွက်ဘုံအကြောင်းရင်းများ

Proc_nice () setting ကိုပြသရန် မှားယွင်းသော ပြန်လည်ရောက်ရှိ။ ပျက်ကွက်မှုအတွက်အဓိကအကြောင်းရင်းများမှာများသောအားဖြင့်အောက်ပါတို့ဖြစ်သည်။

  1. ခွင့်ပြုချက်မလုံလောက် Linux System များတွင်သာ root အသုံးပြုသူသည်လုပ်ငန်းစဉ်ကိုကောင်းမွန်သောတန်ဖိုးကိုလျှော့ချနိုင်သည် (ဥပမာအနုတ်လက်ခဏာတန်ဖိုးများကဲ့သို့) သာမန်အသုံးပြုသူများသည်၎င်းကိုသာဖွင့်နိုင်သည် ("ပိုမိုဖော်ရွေခြင်း" ဖြစ်လာရန်)

  2. ပလက်ဖောင်းကန့်သတ်ချက်များ <br> <br> Unix မဟုတ်သောစနစ်များ (ဥပမာ - 0 င်းဒိုးကဲ့သို့သော) တွင် proc_nice () ကို ပံ့ပိုးမှုမရှိခြင်းသို့မဟုတ်မကိုက်ညီပါ။

လက်ရှိကောင်းတဲ့တန်ဖိုးကိုရရန်နည်းလမ်း

PHP တွင်လက်ရှိလုပ်ငန်းစဉ်၏ကောင်းမွန်သောတန်ဖိုးကိုတိုက်ရိုက်ရယူနိုင်သည့် built-in function မရှိပါ။ သို့သော် system command များကို execute လုပ်ရန် shell_exec () ကို ခေါ်ဆိုခြင်းဖြင့်အကောင်အထည်ဖော်နိုင်သည်။

 <?php
$currentNice = (int) shell_exec('ps -o ni= -p ' . getmypid());
echo "ယခု nice တန်ဖိုး:$currentNice\n";
?>

ဤကုဒ်သည် CommyPID () သည် လက်ရှိလုပ်ငန်းစဉ်၏ Pid ကို PS command မှတဆင့်လက်ရှိ PHP လုပ်ငန်းစဉ်၏တန်ဖိုးကိုရှာဖွေသည်။

?? မှတ်ချက် - ဤနည်းလမ်းသည် system command များပေါ်တွင်မူတည်သည်

အကြံပြုအမှားကိုင်တွယ် mode ကို

Proct_nice () ပိုမိုအားကောင်းတဲ့အသုံးပြုမှု () ကိုပိုမိုအားကောင်းတဲ့အသုံးပြုမှုအတွက်, အမှားအယွင်းများနှင့်ခွင့်ပြုချက်စစ်ဆေးမှုများကိုအသုံးပြုရန်အကြံပြုသည်။

 <?php
$desiredNice = -5;

if (!function_exists('proc_nice')) {
    error_log("proc_nice မရရှိနိုင် function ကို,ကျေးဇူးပြု. အတည်ပြုပါ PHP ပတ်ဝန်းကျင်ပြင်ဆင်မှု。");
    exit("proc_nice မရရှိနိုင်ပါ\n");
}

if (!posix_geteuid()) {
    echo "ယခု是 root အသုံးပြုသူ,သငျသညျပိုမိုမြင့်မား ဦး စားပေး setting ကိုကြိုးစားနိုင်ပါတယ်。\n";
} else {
    echo "ယခု非 root အသုံးပြုသူ,အနုတ်လက်ခဏာတန်ဖိုးများကိုမသတ်မှတ်နိုင်ပါ nice အဘိုး。\n";
}

if (proc_nice($desiredNice)) {
    echo "အောင်မြင်စွာ offset ဖို့ ဦး စားပေးသတ်မှတ် $desiredNice。\n";
} else {
    echo "setting မအောင်မြင်ပါ,ခွင့်ပြုချက်မလုံလောက်ခြင်းသို့မဟုတ်စနစ်ကန့်သတ်ချက်များရှိကြောင်းဖြစ်နိုင်သည်。\n";
    error_log("proc_nice ဆုံးရှုံး,ချိန်ညှိရန်ကြိုးစားပါ $desiredNice ငြင်းပယ်ခဲ့သည်。");
}
?>

အထက်ဖော်ပြပါကုဒ်များတွင် function ရရှိနိုင်မှု, လက်ရှိအသုံးပြုသူမည်သူမည်ဝါဖြစ်ကြောင်း,

အကျဉ်းချုပ်

proc_nice () သည်အသုံးဝင်သော်လည်းအလွယ်တကူလျစ်လျူရှုထားသည့်လုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ ဘာဖြစ်လို့လဲဆိုတော့သူ့ရဲ့အပြုအမူနဲ့ခွင့်ပြုချက်တွေဟာအနီးကပ်ဆက်နွယ်နေတဲ့အတွက်ပြန်လာတဲ့တန်ဖိုးကိုမှန်မှန်ကန်ကန်ကိုင်တွယ်ဖြေရှင်းဖို့နဲ့ logging logging log in လုပ်ပါ။ အလိုအလျောက်ပတ် 0 န်းကျင်သို့မဟုတ် 0 န်ဆောင်မှုတစ်ခုတွင်အသုံးပြုပါက https://gitbox.net/tools/phools/phool/phoh -nice ကဲ့သို့သောကိရိယာများကိုအသုံးပြုရန်အကြံပြုသည်။

proc_nice () ကိုသင့်တော်စွာအသုံးပြုခြင်းသည်သင်၏ PHP အစီအစဉ်ကိုစနစ်နှင့်ပိုမိုညင်ညင်သာသာပြုလုပ်နိုင်သည်။