程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C說話中設置過程優先次序的辦法

C說話中設置過程優先次序的辦法

編輯:關於C++

C說話中設置過程優先次序的辦法。本站提示廣大學習愛好者:(C說話中設置過程優先次序的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是C說話中設置過程優先次序的辦法正文


C說話setpriority()函數:設置法式過程履行優先權
頭文件:

#include <sys/time.h>  #include <sys/resource.h>

界說函數:

int setpriority(int which, int who, int prio);

函數解釋:setpriority()可用來設置過程、過程組和用戶的過程履行優先權。參數which 有三種數值, 參數who 則依which 值有分歧界說。

which who 代表的意義:
1、PRIO_PROCESS who 為過程辨認碼
2、PRIO_PGRP who 為過程的組辨認碼
3、PRIO_USER who 為用戶辨認碼

參數prio 介於-20 至20 之間. 代表過程履行優先權, 數值越低代表有較高的優先順序, 履行會較頻仍. 此優先權默許是0, 而只要超等用戶 (root)許可下降此值.

前往值:
履行勝利則前往0, 假如有毛病產生前往值則為-1, 毛病緣由存於errno.
1、ESRCH:參數which 或who 能夠有錯, 而找不到相符的過程
2、EINVAL:參數which 值毛病.
3、EPERM:權限不敷, 沒法完成設置
4、EACCES:普通用戶沒法下降優先權

C說話getpriority()函數:獲得法式過程履行優先權
頭文件:

#include <sys/time.h>  #include <sys/resource.h>

界說函數:

int getpriority(int which, int who);

函數解釋:
getpriority()可用來獲得過程、過程組和用戶的過程履行優先權。參數 which 有三種數值, 參數who 則依which 值有分歧界說。

which who 代表的意義:
1、PRIO_PROCESS who:為過程辨認碼
2、PRIO_PGRP who:為過程的組辨認碼
3、PRIO_USER who:為用戶辨認碼此函數前往的數值介於-20 至20 之間, 代表過程履行優先權, 數值越低代表有較高的優先順序, 履行會較頻仍.

前往值:前往過程履行優先權, 若有毛病產生前往值則為-1 且毛病緣由存於errno.

附加解釋:因為前往值有能夠是-1, 是以要同時檢討errno 能否存有毛病緣由. 最好在挪用次函數前先消除errno變量.

毛病代碼:
1、ESRCH:參數which 或who 能夠有錯, 而找不到相符的過程.
2、EINVAL:參數which 值毛病.

C說話nice()函數:轉變過程優先次序
頭文件:

#include <unistd.h>

界說函數:

int nice(int inc);

函數解釋:nice()用來轉變過程的過程履行優先次序. 參數inc 數值越年夜則優先次序排在越前面, 即表現過程履行會越慢. 只要超等用戶能力應用負的inc 值, 代表優先次序排在後面, 過程履行會較快.

前往值:假如履行勝利則前往0, 不然前往-1, 掉敗緣由存於errno 中.

毛病代碼:
EPERM:普通用戶妄圖轉用負的參數inc 值轉變過程優先次序.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved