ภาษาอังกฤษภาษาฝรั่งเศสสเปน

Ad


ไอคอน Fav ของ OnWorks

basl2cB - ออนไลน์ใน Cloud

เรียกใช้ basl2cB ในผู้ให้บริการโฮสต์ฟรีของ OnWorks ผ่าน Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

นี่คือคำสั่ง basl2cB ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


basl2c - แปลงรหัส BASL (BAtch Scheduling Language) เป็นรหัสตัวกำหนดตารางเวลา C

เรื่องย่อ


basl2c [-d] [-l lexerDebugFile] [-p parserDebugFile] [-y symtabDebugFile] [-s
semanticDebugFile] [-g codegenDebugFile] [-c cFile] baslFile

DESCRIPTION


เบส2ซี เป็นคอมไพเลอร์ BASL ถึง C ที่สร้างโค้ดระดับกลางที่สามารถป้อนเข้าสู่a
คอมไพเลอร์ C ปกติและเชื่อมโยงกับไลบรารี PBS เพื่อสร้างตัวกำหนดตารางเวลาที่ปฏิบัติการได้
Basl2c ใช้เป็นอินพุต a ไฟล์ baslซึ่งเป็นโปรแกรมที่เขียนใน BAtch Scheduling
ภาษาที่มีรหัสการตั้งเวลาหลัก Basl2c จะแปลงโครงสร้าง BASL
ในไฟล์เป็นคำสั่ง C และยังแนบรหัสเพิ่มเติมเพื่อสร้าง PBS
ซอร์สโค้ดตัวกำหนดตารางเวลา โดยค่าเริ่มต้น โค้ด C ที่ได้จะถูกเขียนลงในไฟล์
pbs_sched.c.

ชื่อพาธแบบเต็มไปยังไฟล์ C ที่เป็นผลลัพธ์คือสิ่งที่ต้องระบุในไฟล์ SCHD_CODE
ตัวแปรใน local.mk ก่อนคอมไพล์ตัวกำหนดเวลา BASL เพื่อสร้าง pbs_sched
ปฏิบัติการ

OPTIONS


-d พิมพ์ข้อความการดีบักเพิ่มเติมไปยัง lexer (ดูตัวเลือก -l), parser (ดู -p
ตัวเลือก), ตารางสัญลักษณ์ (ดูตัวเลือก -y), ตัววิเคราะห์ความหมาย (ดูตัวเลือก -s) และรหัส
เครื่องกำเนิด (ดู -g ตัวเลือก)

-l lexerDebugFile
lexerDebugFile เป็นชื่อของไฟล์ที่จะเขียนลงในข้อความการดีบักที่สร้างขึ้น
ขณะสแกนหาโทเค็น

-p parserDebugFile
parserDebugFile เป็นชื่อของไฟล์ที่จะเขียนลงในข้อความการดีบักที่สร้างขึ้น
ในขณะที่รวบรวมโทเค็นในลักษณะที่ใช้งานได้

-y symtabDebugFile
symtabDebugFile เป็นชื่อไฟล์ที่จะเขียนลงในข้อความแก้จุดบกพร่องที่เกี่ยวข้องกับ
ตารางสัญลักษณ์

-s semanticDebugFile
semanticDebugFile เป็นชื่อไฟล์ที่จะเขียนลงในข้อความแก้จุดบกพร่อง
สร้างขึ้นขณะตรวจสอบเพื่อให้แน่ใจว่ามีการใช้ตัวแปรและตัวดำเนินการในa
วิธีที่สอดคล้องกัน

-g codegenDebugFile
codegenDebugFile เป็นชื่อของไฟล์ที่จะเขียนลงในข้อความการดีบักที่สร้างขึ้น
ขณะแปลงคำสั่ง BASL เป็นคำสั่ง C

-c ไฟล์
ซีไฟล์ เป็นชื่อของไฟล์ที่เขียนโค้ด C ที่สร้างขึ้น

MAIN โครงสร้าง


โครงสร้างพื้นฐานของโค้ดตัวกำหนดตารางเวลาที่เขียนใน BASL มีดังนี้:
เป็นศูนย์ or ข้อมูลเพิ่มเติม ฟังก์ชั่น คำจำกัดความ
เป็นศูนย์ or ข้อมูลเพิ่มเติม ทั่วโลก ตัวแปร คำประกาศ
เป็นศูนย์ or ข้อมูลเพิ่มเติม การมอบหมาย งบ (เพื่อ ในการเริ่มต้น ทั่วโลก ตัวแปร)
sched_main()
{
หนึ่ง or ข้อมูลเพิ่มเติม ตัวแปร คำประกาศ

เป็นศูนย์ or ข้อมูลเพิ่มเติม งบ
}

ตัวอย่างเช่น
% แมว sched.basl
Int ผลรวม(Int a, Int b)
{
Int s;
s = a + b;
ผลตอบแทน;
}
Int ลูกโลก;
sched_main()
{
Int c;

a = 3;
b = 4;
c = ผลรวม (a, NS);
พิมพ์ (c);
glob = 5;
พิมพ์(โลก);
}

sched_main() เป็นฟังก์ชันที่ได้รับการเรียกทุกครั้งที่วนซ้ำการตั้งเวลา

ฟังก์ชั่น


ในการกำหนดฟังก์ชันที่สามารถเรียกได้ในฟังก์ชันต่อมา ไวยากรณ์คือ:

ประเภทผลตอบแทน ชื่อฟังก์ชัน ( ประเภทข้อมูล1 ตัวระบุ1,
ประเภทข้อมูล2 ตัวระบุ2, ... )
{
หนึ่ง or ข้อมูลเพิ่มเติม ตัวแปร คำประกาศ

เป็นศูนย์ or ข้อมูลเพิ่มเติม งบ
}

ตัวอย่างเช่น
เป็นโมฆะ printStuff(วันแห่งสัปดาห์ ดาวโจนส์ วันเวลา t, เชือก สตริ
ขนาด ซซ, ซีโหนด ซีเอ็น)
{
พิมพ์(ดาว);
พิมพ์ (t);
พิมพ์(str);
พิมพ์(sz);
พิมพ์ (cn);
}

ฟังก์ชันที่ถูกต้อง ประเภทผลตอบแทน คือ: Void, Int, Float, Dayofweek, DateTime, String, Size,
เซิร์ฟเวอร์, คิว, งาน, Cnode, ตั้งค่าเซิร์ฟเวอร์, ตั้งค่าคิว, ตั้งค่างาน, ตั้งค่า CNode

ชนิดข้อมูลที่ถูกต้อง ( ประเภทข้อมูล1, ประเภทข้อมูล2, ... ) สำหรับตัวระบุพารามิเตอร์คือ: Int,
Float, Dayofweek, DateTime, String, Size, เซิร์ฟเวอร์, Que, งาน, CNode, Set Server, Set Que,
ตั้งค่างาน, ตั้งค่า CNode, ช่วง Int, ช่วงลอยตัว, ช่วงวันในสัปดาห์, ช่วงวันที่และเวลา, ขนาดช่วง,
Fun Int, Fun Float, Fun Void, Fun Dayofweek, Fun DateTime, Fun String, ขนาดสนุก, Fun
เซิฟเวอร์ Fun Set Que Fun Set Job Fun Set
CNode. ชนิดข้อมูลเหล่านี้จะกล่าวถึงในหัวข้อถัดไป

ฟังก์ชันจะเรียกตามชื่อและอาร์กิวเมนต์ดังนี้

งานพิมพ์( จันทร์ (5|1|1997@14:32:00), "กำหนดการ เริ่ม",
30GB, ปม );

เบส2ซี จะเพิ่มคำนำหน้า "basl_" ให้กับชื่อฟังก์ชันที่กำหนดโดยตัวกำหนดตารางเวลา
ผู้เขียนเพื่อลดโอกาสที่จะเกิดการชนกันของชื่อ ซึ่งอาจส่งผลให้โค้ด C ที่ได้คือ
เชื่อมโยงกับไลบรารี PBS, BASL ตัวอย่างเช่น หากคุณดูรหัส C ที่สร้างขึ้นสำหรับ
พิมพ์สิ่งของคุณจะเห็น

basl_printStuff( MON, (5|1|1997@14:32:00),
"กำหนดการเริ่มต้น", 30gb, โหนด );

เช่นเดียวกับใน C การเรียกใช้ฟังก์ชันทั้งหมดต้องถูกกำหนดไว้ก่อนหน้านี้ คอมไพเลอร์ BASL จะ
ตรวจสอบเพื่อให้แน่ใจว่าอาร์กิวเมนต์ในการเรียกใช้ฟังก์ชันตรงกันทุกประการ (ในแง่ของ
ประเภท) ด้วยพารามิเตอร์ในนิยามฟังก์ชัน

มีฟังก์ชันสองประเภทใน BASL: ฟังก์ชันที่ผู้ใช้กำหนดและฟังก์ชันที่กำหนดไว้ล่วงหน้า
ฟังก์ชันที่ผู้ใช้กำหนดคือฟังก์ชันที่ตัวกำหนดตารางเวลาให้คำจำกัดความสำหรับ
ในขณะที่ฟังก์ชั่นที่กำหนดไว้ล่วงหน้านั้นเป็นฟังก์ชั่นที่สามารถเรียกได้ทันทีโดยไม่จำเป็นต้องใช้
กำหนดมัน สำหรับรายการฟังก์ชันที่กำหนดไว้ล่วงหน้า โปรดดูที่หัวข้อ ที่กำหนดไว้ล่วงหน้า ฟังก์ชั่น .

ตัวแปร คำประกาศ


เช่นเดียวกับในภาษา C ตัวแปรทั้งหมดในโค้ด BASL จะต้องได้รับการประกาศอย่างชัดเจนก่อนใช้งาน เหล่านั้น
ตัวแปรที่ประกาศนอกฟังก์ชันใด ๆ เรียกว่าตัวแปรส่วนกลางในขณะที่
ตัวแปรที่ประกาศภายในเนื้อหาของฟังก์ชันเรียกว่าตัวแปรท้องถิ่น ทั่วโลก
ตัวแปรสามารถใช้ได้ทุกที่ภายในโค้ด BASL ในขณะที่ตัวแปรในเครื่องสามารถอ่านได้
เฉพาะในหน้าที่ซึ่งประกาศไว้เท่านั้น

ไวยากรณ์ของการประกาศตัวแปรคือ:

ประเภทข้อมูล ตัวระบุ ;

ที่ไหน ประเภทข้อมูล สามารถเป็น: Int, Float, Dayofweek, DateTime, String, Size, Server, Que, Job,
CNode, Set Server, Set Que, Set Job, Set CNode, ช่วง Int, ช่วงลอยตัว, ช่วง Dayofweek,
ช่วงวันที่เวลา ขนาดช่วง

DATA ประเภท


เป็นโมฆะ ใช้สำหรับฟังก์ชันที่ไม่คืนค่า

Int ลงนามแล้ว ระบุจำนวนเต็มในฐาน 10

ค่าคงที่ตัวอย่าง:
5, +1, -3, สำเร็จ (=1), ล้มเหลว (=0), จริง (=1), เท็จ (=0)

ลอย จำนวนจริงที่แสดงเป็นสองเท่าในโค้ด C ที่แปลแล้ว
ค่าคงที่ตัวอย่าง: 4.3, +1.2, -2.6

วันในสัปดาห์
ค่าคงที่: SUN, MON, TUE, WED, THU, FRI, SAT, แทนค่าภายในเป็น
ค่าคงที่ที่มีค่าจำนวนเต็มด้วย SUN=0, MON=1 และอื่นๆ

วันเวลา
ระบุในรูปแบบใดรูปแบบหนึ่งจาก 3 รูปแบบ:

[1] (m|d|y) โดยที่ 1 <= m <= 12, 1 <= d <= 31, 0 <= y, เช่น (4|4|1997);

[2] (hh:mm:ss) โดยที่ 0 <= hh <= 23, 0 <= mm <= 59, 0 <= ss <= 61, เช่น
(12:01:00 น.);

[3] (m|d|y@hh:mm:ss), ex. (4|4|1997@12:01:00)
ในระหว่างการเปรียบเทียบวันที่/เวลา เวลา "ตอนนี้" จะถูกแทนที่หากเวลา
ไม่ได้รับส่วน (รูปแบบ [1]); วันที่ "ตอนนี้" จะถูกแทนที่ถ้า
ไม่ได้ระบุส่วนวันที่ (รูปแบบ [2]) นอกจากนี้ ส่วนทั้งปีจะต้อง
ให้ (เช่น 1997 แทนที่จะเป็น 97) ในวันที่เพื่อหลีกเลี่ยงความกำกวม

เชือก สตริงอยู่ในเครื่องหมายคำพูด (") และสามารถมีอะไรก็ได้ยกเว้น another
อ้างขึ้นบรรทัดใหม่และวงเล็บซ้ายและขวา
ค่าคงที่ตัวอย่าง: "a sample string", NULLSTR

ขนาด รูปแบบ: โดยที่คำต่อท้ายเป็นตัวคูณของแบบฟอร์ม:
:

ตัวคูณ หน่วย (ไบต์ or คำ)
=================== =====================
k,m,g,t,p,K,M,G,T,P ข, ข, ว, ว

โดยที่ k=K=1024, m=M=1,048,576, g=G=1,073,741,824, t=T=1,099,511,627,776,
p=P=1,125,899,906,842,624, b=B=1 และขนาดคำ w=W ถูกกำหนดในเครื่อง (เช่น 4
ไบต์ในเครื่อง 32 บิต)

เมื่อดำเนินการกับตัวถูกดำเนินการ 2 ขนาดที่มีส่วนต่อท้ายต่างกัน คำต่อท้ายของ
"ล่าง" ของทั้งสองจะเป็นส่วนต่อท้ายผลลัพธ์ ตัวอย่างเช่น,
10mb+10gb=10250mb
ค่าคงที่ตัวอย่าง: -1b, 2w, 1kb, 2mw, +3gb, 4tw, 6Pb

พิสัย Int

รูปแบบ: (ค่า Int ต่ำ ค่า Int สูง)
โดยที่ค่า Int ต่ำ <= ค่า Int สูง ค่าคงที่ตัวอย่าง: (1,3)

พิสัย ลอย

รูปแบบ: (ค่า Float ต่ำ, ค่า Float สูง)
โดยที่ค่าต่ำ <= ค่าสูง ค่าคงที่ตัวอย่าง: (2.3, 4.6)

พิสัย วันในสัปดาห์

รูปแบบ: (วันก่อนวันหลัง)
โดยที่วันก่อนหน้า <= วันต่อมา ค่าคงที่ตัวอย่าง: (พุธ, ศุกร์)

พิสัย วันเวลา

รูปแบบ: (วันที่/เวลาก่อนหน้า วันที่/เวลาภายหลัง)
โดยที่วันที่/เวลาก่อนหน้า <= วันที่/เวลาภายหลัง
หมายเหตุ: หากช่วงมีเฉพาะส่วนของเวลา และเวลาก่อนหน้า "ปรากฏ" ถึง
be > ภายหลังใน "(18:0:0), (6:0:0))" จากนั้นในช่วงวันที่/เวลา
การเปรียบเทียบเวลา "ภายหลัง" จะถูกปรับโดยหนึ่งวันเพื่อที่จะได้
ดูเหมือน: "( ( @18:0:0), ( @6:0:0) )"

ค่าคงที่ตัวอย่าง:
((4|4|1997), (4|10|1997)), ((12:01:00), (12:30:00)), ((4|4|1997@12:01:00),
(4|10|1997@12:30:00))

พิสัย ขนาด

รูปแบบ: (ขนาดต่ำ, ขนาดสูง)
โดยที่ขนาดต่ำ <= ขนาดสูง ค่าคงที่ตัวอย่าง: (23gb, 50gb)

เซิร์ฟเวอร์ แมปโดยตรงกับวัตถุเซิร์ฟเวอร์ PBS NS เซิร์ฟเวอร์ จัดการหนึ่งหรือมากกว่า นี้ วัตถุ
ค่าคงที่ตัวอย่าง: NOSERVER

ซีโหนด สำหรับโหนดคอมพิวเตอร์ที่ประกอบด้วยอิมเมจ OS เดียว หน่วยความจำที่ใช้ร่วมกัน และ set
ของซีพียู CNode ทำงาน 1 PBS MOM
ค่าคงที่ตัวอย่าง: NOCNODE

นี้ แมปโดยตรงกับวัตถุคิว PBS NS นี้ ม้วนวัตถุหนึ่งชิ้นขึ้นไป การสัมภาษณ์
วัตถุ
ค่าคงที่ตัวอย่าง: NOQUE

การสัมภาษณ์ แมปโดยตรงกับวัตถุงาน PBS NS การสัมภาษณ์ วัตถุมีคุณสมบัติบางอย่างและ
ความต้องการทรัพยากร
ค่าคงที่ตัวอย่าง: NOJOB

ชุด เซิร์ฟเวอร์
รายการวัตถุเซิร์ฟเวอร์
ค่าคงที่ตัวอย่าง: EMPTYSETSERVER

ชุด ซีโหนด
รายการวัตถุ CNode
ค่าคงที่ตัวอย่าง: EMPTYSETCNODE

ชุด นี้ รายการวัตถุ Que
ค่าคงที่ตัวอย่าง: EMPTYSETQUE

ชุด การสัมภาษณ์ รายการวัตถุงาน
ค่าคงที่ตัวอย่าง: EMPTYSETJOB

BASL-กำหนด ค่าคงที่


ค่าคงที่เหล่านี้เป็นค่าคงที่ที่ไม่สามารถใช้ในการตั้งชื่อตัวระบุได้ (ดูหัวข้อถัดไป) เหล่านี้
เป็นตัวพิมพ์ใหญ่เสมอ

DATA ประเภท BASL-กำหนด คงที่
=================== =============================================
วันในสัปดาห์ ดวงอาทิตย์, จันทร์ อ. พุธ, พฤ ศ. กกท.

Int ความสำเร็จ, ล้มเหลว, เท็จ จริง ซิงค์รัน อะซิงค์รัน
ลบ, รีรัน ถือ, ปล่อย, สัญญาณ,
แก้ไข แก้ไข เซิร์ฟเวอร์_แอคทีฟ,
SERVER_IDLE SERVER_SCHED, SERVER_TERM,
SERVER_TERMดีเลย์ QTYPE_E QTYPE_R,
กำหนด_ปิดการใช้งานแล้ว กำหนดไว้_เปิดใช้งานแล้ว ทางผ่าน,
อยู่ในคิว จัดขึ้น, ซึ่งรอคอย, วิ่ง, ออก,
CNODE_ออฟไลน์ CNODE_DOWN, CNODE_FREE
CNODE_สำรอง CNODE_INUSE_EXCLUSIVE,
CNODE_INUSE_SHARED CNODE_TIMESHARED,
CNODE_CLUSTER CNODE_UNKNOWN, OP_EQ, OP_NEQ
OP_LE, OP_LT, OP_GE, OP_GT, OP_MAX, OP_MIN,
เอเอสซี, DESC

เซิร์ฟเวอร์ โนเซิร์ฟเวอร์
ชุด เซิร์ฟเวอร์ เซิร์ฟเวอร์ว่างเปล่า

ซีโหนด น็อคโนเด
ชุด ซีโหนด ว่างSETCNODE

นี้ ไม่
ชุด นี้ ว่างเปล่า

การสัมภาษณ์ ไม่มีงาน
ชุด การสัมภาษณ์ ว่างSETJOB

เชือก NULLSTR

ตัวระบุ


ตัวระบุ (ใช้สำหรับชื่อตัวแปรและชื่อฟังก์ชัน) อยู่ในรูปแบบตัวอักษรและตัวเลข โดยมี
อนุญาตให้ใช้เครื่องหมายขีดล่างพิเศษ (_) ปัจจุบัน BASL สามารถจัดการตัวระบุเท่านั้น
มีความยาวได้ถึง 80 ตัวอักษร นอกจากนี้ คุณไม่สามารถใช้ชื่อคงที่ที่กำหนดโดย BASL สำหรับ
การตั้งชื่อตัวระบุ

งบ


In บาส(2) คุณสามารถมีคำสั่งเดียวที่สิ้นสุดด้วยเครื่องหมายอัฒภาคหรือกลุ่มของ
คำสั่ง (เรียกว่าคำสั่งผสมหรือบล็อก) คั่นด้วย '{' และ '}' ความแตกต่าง
ประเภทของข้อความสั่งที่สามารถปรากฏในโค้ด BASL ได้แก่:

1. คำสั่งนิพจน์
คำสั่งนิพจน์เป็นอะไรก็ได้ในรูปแบบ:

ด่วน ;

ที่ไหน ด่วน เป็นไปได้:

ก) นิพจน์เลขคณิต

เล็กซ์พร + เร็กซ์ปรี (เพิ่ม)
เล็กซ์พร - เร็กซ์ปรี (ลบ)
เล็กซ์พร * เร็กซ์ปรี (คูณ)
เล็กซ์พร / เร็กซ์ปรี (หาร)
เล็กซ์พร % เร็กซ์ปรี (โมดูลัส or ส่วนที่เหลือ)

หมายเหตุ บวก ลบ คูณ หาร เศษ
จะได้รับอนุญาตสำหรับประเภทที่เหมาะสมและถ้าซ้ายและขวา
นิพจน์เป็นประเภทที่สอดคล้องกัน ตารางด้านล่างแสดงให้เห็นสิ่งที่
ประเภทจะสอดคล้องกันระหว่างตัวดำเนินการต่างๆ:

สำหรับ +:

เล็กซ์พร เร็กซ์ปรี
============ ============
Int or ลอย Int or ลอย
ขนาด ขนาด
เชือก เชือก

สำหรับ -, *, /:

เล็กซ์พร เร็กซ์ปรี
============ ============
Int or ลอย Int or ลอย
ขนาด ขนาด

สำหรับ %:

เล็กซ์พร เร็กซ์ปรี
============ ============
Int or ลอย Int or ลอย

ต่อไปนี้คือตัวอย่างคำสั่งนิพจน์ทางคณิตศาสตร์บางส่วน:
Int i1;
Int i2;
ลอย f1;
ลอย f2;
ขนาด sz1;
ขนาด sz2;
เชือก str1;
เชือก str2;

i1 + i2;
f1 - i2;
sz1 * sz2 * 2b;
sz1 / 1024b;

str1 = "บาส";
str2 = " เย็น";

// ดังต่อไปนี้ is a เชือก การต่อกัน
// การดำเนินการ ส่งผลให้ in สตริง:
// "บาสล เย็น"
str1 + str2;

i1 % 10;

b) นิพจน์เอกพจน์

+ expr // บวก - ทวีคูณ by 1 an
// การแสดงออก ที่ is
// of อินท์, ลอย, or
// ขนาด ชนิด

- เม.ย. // เชิงลบ - ทวีคูณ by -1 an
// การแสดงออก ที่ is
// of อินท์, ลอย, or
// ขนาด ชนิด

! ประสบการณ์ // ไม่ - แปลง a ไม่ใช่ศูนย์ ด่วน
// ความคุ้มค่า เข้าไป 0, และ a
// เป็นศูนย์ ด่วน ความคุ้มค่า เข้าไป 1
// ที่ไหน ด่วน ชนิด ต้อง be
// of ชนิด Int or ลอย

ตัวอย่างนิพจน์เอกพจน์บางส่วน:
Int i;

+ 3;
-(ผม + 4);
!ผม;

c) นิพจน์ตรรกะ

เล็กซ์พร EQ เร็กซ์ปรี
เล็กซ์พร เอ็นอีคิว เร็กซ์ปรี
เล็กซ์พร LT เร็กซ์ปรี
เล็กซ์พร LE เร็กซ์ปรี
เล็กซ์พร GT เร็กซ์ปรี
เล็กซ์พร GE เร็กซ์ปรี
เล็กซ์พร AND เร็กซ์ปรี
เล็กซ์พร OR เร็กซ์ปรี

เล็กซ์พร และ เร็กซ์ปรี ต้องมีประเภทที่สอดคล้องกันตามที่แสดง
ในตารางต่อไปนี้:

ขั้ว-expr ขั้ว-expr
============== ==============
Int or ลอย Int or ลอย
วันในสัปดาห์ วันในสัปดาห์
วันเวลา วันเวลา
เชือก เชือก
ขนาด ขนาด
เซิร์ฟเวอร์ เซิร์ฟเวอร์
นี้ นี้
การสัมภาษณ์ การสัมภาษณ์
ซีโหนด ซีโหนด
ชุด เซิร์ฟเวอร์ ชุด เซิร์ฟเวอร์
ชุด นี้ ชุด นี้
ชุด การสัมภาษณ์ ชุด การสัมภาษณ์
ชุด ซีโหนด ชุด ซีโหนด

สำหรับ และ, OR ผู้ประกอบการ the เล็กซ์พรี เร็กซ์ปรี ประเภทที่สอดคล้องกันคือ Int หรือ
ลอย.

ตัวอย่างนิพจน์เชิงตรรกะบางตัวอย่าง:

i1 EQ i2;
i1 เอ็นอีคิว f2;
ดาวโจนส์1 LE ดาวโจนส์ 2;
d1 LT ง2;
str1 GT str2;
sz1 GE sz2;

d) นิพจน์หลังดำเนินการ
เหล่านี้เป็นนิพจน์ที่เป็นเพียงทางลัดไปยังการมอบหมาย
งบ

ตัวระบุ++; // ตัวระบุ=ตัวระบุ+1
ตัวระบุ--; // ตัวระบุ=ตัวระบุ-1

ตัวระบุ ต้องเป็นประเภท Int หรือ Float

ตัวอย่าง:
Int i;
ลอย f;

ผม ++;
NS--;

e) การเรียกใช้ฟังก์ชัน

ชื่อฟังก์ชัน ( หาเรื่อง1 ,arg2 ... , หาเรื่อง )

ที่ไหน หาเรื่อง 1, ... หาเรื่อง สามารถเป็นค่าคงที่หรือตัวแปรใดก็ได้ คุณไม่สามารถมี
เรียกฟังก์ชันอื่นเป็นอาร์กิวเมนต์
ตัวอย่าง:
เป็นโมฆะ พิมพ์ a) {
พิมพ์ (ก);
}

pr(5);

มีฟังก์ชันที่กำหนดไว้ล่วงหน้าบางอย่างที่ตัวเขียนกำหนดการสามารถ
เรียกรหัส BASL ของเขา/เธอโดยอัตโนมัติโดยไม่จำเป็นต้องกำหนด
ฟังก์ชันเหล่านี้เรียกว่าฟังก์ชันช่วยเหลือ (หรือ helper
ฟังก์ชั่น) และพวกเขาจะกล่าวถึงภายใต้ ที่กำหนดไว้ล่วงหน้า ฟังก์ชั่น หัวข้อเรื่อง

f) ค่าคงที่
นิพจน์คงที่ที่ถูกต้องบางนิพจน์มีดังต่อไปนี้:
5;
+ 1.2;
ดวงอาทิตย์;
จันทร์;
อ.;
พุธ;
พฤ;
ศ.
นั่ง;
(4|4|1997);
(12:01:00 น.);
(4|4|1997@12:01:00);
"มหัศจรรย์";
-1b;
ซิงค์รัน;
อะซิงรัน;
ลบ;
รีรัน;
ถือ;
ปล่อย;
สัญญาณ;
แก้ไข;
แก้ไข;
(1, 3);
(2.3, 4.6);
(พุธ, ศุกร์);
((4|4|1997), (4|10|1997));
((12:01:00), (12:30:00));
((4|4|1997@12:01:00), (4|10|1997@12:30:00));
(23GB, 50GB);
โนเซอร์เวอร์;
น็อคโนด;
น็อก;
ไม่มีงาน;
เซิร์ฟเวอร์ว่าง
ว่างSETCNODE;
ว่างเปล่า;
งานว่าง;
NULLST;
ความสำเร็จ;
ล้มเหลว;
เซิร์ฟเวอร์_แอคทีฟ;
SERVER_IDLE;
SERVER_SCHED;
SERVER_TERM;
SERVER_TERMดีเลย์;
QTYPE_E;
QTYPE_R;
กำหนด_ปิดการใช้งาน;
กำหนด_เปิดใช้งาน;
เท็จ;
จริง;
ทางผ่าน;
คิว;
จัดขึ้น;
ซึ่งรอคอย;
วิ่ง;
ออก;
CNODE_ออฟไลน์;
CNODE_DOWN;
CNODE_FREE;
CNODE_สำรอง;
CNODE_INUSE_EXCLUSIVE;
CNODE_INUSE_SHARED;
CNODE_TIMESHARED;
CNODE_คลัสเตอร์;
CNODE_UNKNOWN;
OP_EQ;
OP_NEQ;
OP_LE;
OP_LT;
OP_GE;
OP_GT;
OP_MAX;
OP_MIN;

g) ตัวระบุ

ตัวอย่าง:
Int ฉัน;

i;

2. ใบแจ้งการมอบหมาย

ตัวระบุ = ด่วน ;

ตัวระบุ และ ด่วน ต้องมีประเภทที่สอดคล้องกันเช่น
แสดงในตารางต่อไปนี้:

ระบุ ด่วน
=============== ===============
Int อินท์, ลอย
ลอย อินท์, ลอย
วันในสัปดาห์ วันในสัปดาห์
วันเวลา วันเวลา
เชือก เชือก
ขนาด ขนาด
นี้ นี้
การสัมภาษณ์ การสัมภาษณ์
ซีโหนด ซีโหนด
เซิร์ฟเวอร์ เซิร์ฟเวอร์
วันในสัปดาห์ วันในสัปดาห์
วันเวลา วันเวลา
ชุด เซิร์ฟเวอร์ ชุด เซิร์ฟเวอร์
ชุด นี้ ชุด นี้
ชุด การสัมภาษณ์ ชุด การสัมภาษณ์
ชุด ซีโหนด ชุด ซีโหนด
พิสัย Int พิสัย Int
พิสัย ลอย พิสัย ลอย
พิสัย วันในสัปดาห์ พิสัย วันในสัปดาห์
พิสัย วันเวลา พิสัย วันเวลา
พิสัย ขนาด พิสัย ขนาด

3. ถ้า...อย่างอื่น คำสั่ง
รูปแบบของคำสั่ง if นั้นคล้ายกับในภาษา C ที่มีการคั่นด้วย
"{" และ "}" แสดงอยู่เสมอ:

ถ้า( ด่วน ) {
เป็นศูนย์ or ข้อมูลเพิ่มเติม (จริง) งบ
}

ถ้า( ด่วน ) {
เป็นศูนย์ or ข้อมูลเพิ่มเติม (จริง) งบ
} อื่น {
เป็นศูนย์ or ข้อมูลเพิ่มเติม (เท็จ) งบ
}

พื้นที่ ด่วน 's ประเภทต้องเป็น Int หรือ Float และหลังจากประเมินแล้วถ้าเป็น
ค่าไม่เป็นศูนย์ จากนั้นจึงดำเนินการคำสั่งจริง ในวันที่สอง
แบบฟอร์ม ถ้า ด่วน ประเมินเป็นศูนย์ จากนั้นจึงดำเนินการคำสั่งเท็จ

ตัวอย่างบางส่วน if งบได้รับด้านล่าง:

if (2 * x )
{
y = y + 3;
พิมพ์ (y);
}

if (2 * x ) {
y = y + 3;
} อื่น {
ถ้า( 3 * x ) {
y = 4;
} อื่น {
y = 5;
}
}

4. for ห่วง คำสั่ง
รูปแบบของคำสั่ง for มีดังนี้:

สำหรับ( เริ่ม; ทดสอบ; การกระทำ ) {
เป็นศูนย์ or ข้อมูลเพิ่มเติม งบ
}

เช่นเดียวกับใน C, for ดำเนินการครั้งแรก เริ่มต้น , แล้วประเมินค่า ทดสอบ สภาพ
เพื่อดูว่ามันคืนค่าที่ไม่ใช่ศูนย์หรือไม่ ถ้าเป็นเช่นนั้น for งบคือ
ดำเนินการ หลังจาก for คำสั่งจะถูกดำเนินการแล้ว การกระทำ ได้รับการประเมิน
แล้วตรวจสอบ ทดสอบ กลับมาเหมือนเดิมเหมือนเดิม
เริ่มต้น และ การกระทำ อาจเป็นการแสดงออกถึงการมอบหมายอย่างง่ายหรือหลังดำเนินการ
การแสดงออก ทดสอบ เป็นนิพจน์เชิงตรรกะ/เชิงสัมพันธ์ ตัวอย่างบางส่วนสำหรับ
งบมีดังต่อไปนี้:

for (i = 0; i LT 3 ; i = i + 1)
{
พิมพ์ (ผม);
}

for (i = 0; i LT 2 * x; ผม++)
{
if (x GT 3)
{
y = 99;
} อื่น
{
x = 73;
}
}

5. แต่ละ ห่วง คำสั่ง
คำสั่งนี้ใช้เป็นหลักในการดึงข้อมูลแต่ละองค์ประกอบของ
a ตั้งค่าประเภทข้อมูล: Set Server, Set CNode, Set Job, Set Que ไวยากรณ์คือ:

แต่ละ ( ตัวระบุ1 in ตัวระบุ2 ) {
เป็นศูนย์ or ข้อมูลเพิ่มเติม งบ
}

โดยอนุญาตให้จับคู่ประเภทต่อไปนี้สำหรับตัวระบุ:

ตัวระบุ1 ตัวระบุ2
=========== ===========
เซิร์ฟเวอร์ ชุด เซิร์ฟเวอร์
นี้ ชุด นี้
การสัมภาษณ์ ชุด การสัมภาษณ์
ซีโหนด ชุด ซีโหนด

ตัวอย่าง:
เซิร์ฟเวอร์ s;
นี้ q;
การสัมภาษณ์ j;
ซีโหนด c;

ชุด เซิร์ฟเวอร์ เอสเอส;
ชุด นี้ ตร.ม.
ชุด การสัมภาษณ์ เอสเจ;
ชุด ซีโหนด วิทย์;

foreach(s in NS){
พิมพ์ (s);
}
foreach (q in ตาราง){
พิมพ์ (q);
}
foreach(j .) in เอสเจ){
พิมพ์ (j);
}
foreach(ค in สค){
พิมพ์ (c);
}

6. ในขณะที่ ห่วง คำสั่ง
ไวยากรณ์ของลูป while คือ:

ในขณะที่ ( ด่วน ) {
เป็นศูนย์ or ข้อมูลเพิ่มเติม งบ
}

ที่ไหน ด่วน ต้องเป็นประเภท Int หรือ Float ถ้า ด่วน ไม่เป็นศูนย์ เท่ากับศูนย์
หรือมากกว่า งบ ถูกประหารชีวิตและ ด่วน จะถูกประเมินใหม่

ตัวอย่าง:
Int i;
i = 3;
ขณะที่ฉัน) {
ถ้า( i EQ 0 ) {
พิมพ์ ("ทำลาย on i = 1");
break;
}
ผม--;
}

7. สลับ คำสั่ง
คำสั่ง switch เป็นการตัดสินใจแบบหลายทางที่ทดสอบว่า an
ค่าของตัวระบุตรงกับค่าใดค่าหนึ่ง และแยกย่อยเป็น
กลุ่มข้อความตามลำดับ
ไวยากรณ์สำหรับคำสั่ง switch คือ:

สวิตช์ ( ตัวระบุ ) {
กรณี ค่าคงที่ expr :
{
เป็นศูนย์ or ข้อมูลเพิ่มเติม งบ
}
กรณี ค่าคงที่ expr :
{
เป็นศูนย์ or ข้อมูลเพิ่มเติม งบ
}
...
กรณี in ช่วงคงที่OrSet-expr :
{
เป็นศูนย์ or ข้อมูลเพิ่มเติม งบ
}
กรณี in IDENTIFIER-rangeOrSettype :
{
เป็นศูนย์ or ข้อมูลเพิ่มเติม งบ
}
ผิดนัด :
{
เป็นศูนย์ or ข้อมูลเพิ่มเติม งบ
}
}

ที่ไหน ค่าคงที่ expr เป็น ด่วน ประเภท Int, Float, Dayofweek, DateTime,
ขนาด, สตริง, เซิร์ฟเวอร์, คิว, งาน หรือ CNode ช่วงคงที่OrSet-expr และ
IDENTIFIER-rangeOrSettype สามารถเป็นประเภท Set Server, Set Cnode, Set Que, Set
งาน ช่วง Int ช่วง Float ช่วง Dayofweek ช่วง DateTime หรือขนาดช่วง

ตัวระบุ ไม่สามารถเป็นประเภทโมฆะได้ ตัวระบุ 's แบบต้องสม่ำเสมอ
กับ ค่าคงที่ expr ของ, ช่วงคงที่OrSet-expr ของ, และ ตัวระบุ-
rangeOrSettype 's พิมพ์ตามที่แสดงในตารางต่อไปนี้:
ตัวระบุ ค่าคงที่ช่วง expr, IDENTIFIER-ช่วงประเภท
=========== =========================================
เซิร์ฟเวอร์ ชุด เซิร์ฟเวอร์
นี้ ชุด นี้
การสัมภาษณ์ ชุด การสัมภาษณ์
ซีโหนด ชุด ซีโหนด
Int พิสัย Int
ลอย พิสัย ลอย
วันในสัปดาห์ พิสัย วันในสัปดาห์
วันเวลา พิสัย วันเวลา
ขนาด พิสัย ขนาด

หากนิพจน์กรณีตรงกับ ตัวระบุ 's ค่าแล้วค่าที่สอดคล้องกัน
บล็อกของคำสั่งถูกดำเนินการ ไม่เหมือนกับในภาษา C การดำเนินการไม่ตก
ผ่านไปยังคำสั่งกรณีต่อไป เหตุผลก็คือ เบส2ซี จะ
แปลสิ่งนี้ สลับ คำสั่งในโครงสร้าง if-elseif-else กรณี
ค่าเริ่มต้นที่มีป้ายกำกับจะถูกดำเนินการหากไม่มีกรณีอื่นที่พึงพอใจ NS
ผิดนัด เป็นทางเลือก; หากไม่มี และหากไม่มีกรณีใดตรงกัน ก็ไม่
การกระทำเกิดขึ้น

ตัวอย่าง:
วันในสัปดาห์ ดาวน์;

สวิตซ์(ดาวโจนส์)
{
กรณี MON:
{
พิมพ์ ("กรณี จันทร์");
}
กรณี อ.:
{
พิมพ์ ("กรณี อ.");
}
กรณี พุธ:
{
พิมพ์ ("กรณี พุธ");
}
กรณี คอลเลกชัน:
{
พิมพ์ ("กรณี พฤ");
}
กรณี วันศุกร์:
{
พิมพ์ ("กรณี ศ");
}
กรณี SAT:
{
พิมพ์ ("กรณี นั่ง");
}
กรณี อาทิตย์:
{
พิมพ์ ("กรณี ดวงอาทิตย์");
}
ค่าเริ่มต้น:
{
พิมพ์ ("กรณี ผิดนัด");
}
}

Int a;
พิสัย Int รี;
ri = (10, 12);
สวิตช์ (ก)
{
กรณี in (1,5):
{
พิมพ์ ("กรณี 1,5");
}
กรณี in (6,9):
{
พิมพ์ ("กรณี 6,9");
}
กรณี in ริ:
{
พิมพ์ ("กรณี ริ");
}
}

8. พิมพ์ คำสั่ง
พิมพ์คำสั่งสามารถพิมพ์เพื่อ stdout มูลค่าใดๆ ระบุ
or คงที่ ประเภท Int, Float, Dayofweek, DateTime, String, Size, Que, Job,
CNode, เซิร์ฟเวอร์, ช่วง Int, ช่วงลอยตัว, ช่วง Dayofweek, ช่วง DateTime,
ขนาดช่วง
ไวยากรณ์เป็นดังนี้:

พิมพ์ ( ตัวระบุ );
พิมพ์ ( คงที่ );

ตัวอย่าง:
วันเวลา ดีที;
ซีโหนด ซีเอ็น;

dt = (4|4|1997@12:13:36);
cn = ทั้งหมดNodesLocalHostGet();

พิมพ์ (dt);
พิมพ์ (cn);

สำหรับประเภทชุด ให้ใช้ แต่ละ เพื่อผ่านแต่ละองค์ประกอบและพิมพ์ดังนี้:

เซิร์ฟเวอร์ s;
ชุด เซิร์ฟเวอร์ เอสเอส;

ss = ทั้งหมดเซิร์ฟเวอร์Get();

foreach(s in เอสเอส) {
พิมพ์ (s);
}

9. พูดต่อ

ต่อ ;

พื้นที่ ต่อ ต้องมีการเรียกใช้คำสั่งภายใน a สำหรับ, แต่ละ, และ
ในขณะที่ ห่วง มันทำให้การวนซ้ำรอบถัดไปเริ่มต้นขึ้น

10. คำสั่งหยุด

ทำลาย ;

พื้นที่ ทำลาย ต้องมีการเรียกใช้คำสั่งภายใน a สำหรับ, แต่ละ, และ ในขณะที่
ห่วง เป็นการออกจากวงรอบที่ปิดก่อนกำหนด

11. ส่งคืนคำสั่ง

ผลตอบแทน(IDENTIFIER) ;
ผลตอบแทน(คงที่) ;
กลับ() ;

คำสั่ง return เป็นค่า (ถ้ามี) ที่จะส่งคืนโดย a
การทำงาน. ประเภทที่ส่งคืนโดย ตัวระบุ และ คงที่ ต้องตรงกับ
ประเภทการเรียกกลับของฟังก์ชันการเรียก คงที่ ประเภทที่อนุญาตคืออะไรก็ได้ยกเว้น
ประเภทชุดและช่วง รูปแบบสุดท้าย, กลับ() มักเรียกภายใน a
ฟังก์ชั่นที่ไม่คืนค่าใด ๆ ( like sched_main() ).

12. คำสั่งออก

ทางออก(คงที่);

ที่ไหน คงที่ เป็นประเภท Int การเรียกสิ่งนี้จะเป็นการยุติตัวกำหนดตารางเวลา

13. คำชี้แจงความคิดเห็น
คำสั่งเหล่านี้นำหน้าด้วย "//" และ BASL . จะละเว้น
คอมไพเลอร์

// นี้ เส้น is ละเว้น
Int i; // เชือก ดังต่อไปนี้ ทับ is ละเว้น

ผู้ประกอบการ ความสำคัญ AND สมาคม


ตารางต่อไปนี้แสดงระดับความสำคัญตัวดำเนินการต่างๆ และการเชื่อมโยงที่กำหนดไว้
ในภาษา BASL ตัวดำเนินการแสดงอยู่ในลำดับความสำคัญที่ลดลง NS
ลำดับความสำคัญของโอเปอเรเตอร์ยิ่งสูง ยิ่งถูกดำเนินการเร็วเท่านั้น ลำดับที่
ตัวดำเนินการในระดับเดียวกันจะดำเนินการขึ้นอยู่กับการเชื่อมโยง: ซ้ายหมายถึง
ตัวดำเนินการจะมองเห็นจากซ้ายไปขวา ในขณะที่ทางขวาหมายถึงมองเห็นจากขวาไปซ้าย

ผู้ประกอบการ การเชื่อมโยงกัน
======================================= =============
! ++ -- + (เอกพจน์ บวก) - (เอกพจน์ ลบ) ขวา
* / % ซ้าย
+ - ซ้าย
LT LE GT GE ซ้าย
EQ เอ็นอีคิว ซ้าย
AND ซ้าย
OR ซ้าย
= ขวา

ที่กำหนดไว้ล่วงหน้า ฟังก์ชั่น


In บาส(2), เซิร์ฟเวอร์ ชนิดข้อมูลจะแมปโดยตรงกับออบเจ็กต์เซิร์ฟเวอร์แบตช์ ในทำนองเดียวกัน ซีโหนด
คือแม่/resmom, การสัมภาษณ์ คืองานแบทช์และ นี้ คือการจัดคิวแบทช์ อย่างไรก็ตาม ไม่ใช่ทั้งหมด
คุณลักษณะของวัตถุ PBS สามารถเข้าถึงได้จาก BASL เฉพาะส่วนย่อยของแอตทริบิวต์
ที่ดูเหมือนจะสมเหตุสมผลในบริบทของตัวกำหนดตารางเวลา พร้อมใช้งาน และ
ค่าของแอตทริบิวต์เหล่านี้สามารถเข้าถึงได้โดยการเรียกใช้ฟังก์ชันที่กำหนดไว้ล่วงหน้าดังต่อไปนี้
เรียกอีกอย่างว่าฟังก์ชัน Assist/helper

(1) ฟังก์ชั่นที่เกี่ยวข้องกับเซิร์ฟเวอร์

ชุด เซิร์ฟเวอร์ AllServersGet (เป็นโมฆะ)
ส่งคืนรายการเซิร์ฟเวอร์ที่ระบุในไฟล์การกำหนดค่าสำหรับ
ซึ่งผู้เขียนกำหนดการต้องการให้ระบบตรวจสอบเป็นระยะๆ
สถานะ คิว และข้อมูลงาน ดู pbs__sched__basl(8b) สำหรับ
การอภิปรายเกี่ยวกับรูปแบบของไฟล์กำหนดค่า
ข้อควรระวัง: ต้องเรียกใช้ฟังก์ชันนี้จากภายใน sched_main() so
ที่การทำซ้ำตามกำหนดเวลาทุกครั้งจะเป็นข้อมูลล่าสุด ชุด เซิร์ฟเวอร์
โครงสร้างจะถูกส่งกลับ

เซิร์ฟเวอร์ AllServersLocalHostGet (เป็นโมฆะ)
ส่งกลับวัตถุเซิร์ฟเวอร์ที่แสดงถึงโฮสต์ท้องถิ่น ค่าที่ไม่ได้ตั้งค่า:
โนเซอร์เวอร์ นี่เป็นฟังก์ชันง่ายๆ ในการเรียกใช้สภาพแวดล้อมที่ไม่ใช่คลัสเตอร์
ที่มีโฮสต์เซิร์ฟเวอร์เดียวเท่านั้น
ข้อควรระวัง: ต้องเรียกใช้ฟังก์ชันนี้จากภายใน sched_main() (หรือจาก
ภายในฟังก์ชันที่เรียกโดย sched_main) ดังนั้นในทุกๆ scheduling
ซ้ำซาก ทันสมัยที่สุด เซิร์ฟเวอร์ โครงสร้างจะถูกส่งกลับ

เชือก ServerInetAddrGet(เซิร์ฟเวอร์ s)
ส่งกลับชื่อสำหรับเซิร์ฟเวอร์ s ค่าที่ไม่ได้ตั้งค่า: NULLSTR

เชือก ServerDefQueGet(เซิร์ฟเวอร์ s)
ส่งกลับแอตทริบิวต์ default_queue ของเซิร์ฟเวอร์ ค่าที่ไม่ได้ตั้งค่า: NULLSTR

Int ServerStateGet(เซิร์ฟเวอร์ s)
ส่งกลับแอตทริบิวต์ server_state ของเซิร์ฟเวอร์ s

ผลตอบแทน:
SERVER_ACTIVE, SERVER_IDLE, SERVER_SCHED, SERVER_TERM,
SERVER_TERMDELAY, -1 (ค่าที่ไม่ได้ตั้งค่า)

Int ServerMaxRunJobsGet(เซิร์ฟเวอร์ s)
ส่งกลับแอตทริบิวต์ max_running ของเซิร์ฟเวอร์ s ยกเลิกการตั้งค่า: 0

Int ServerMaxRunJobsPerUserGet(เซิร์ฟเวอร์ s)
ส่งกลับแอตทริบิวต์ max_user_run ของเซิร์ฟเวอร์ s ยกเลิกการตั้งค่า: 0

Int ServerMaxRunJobsPerGroupGet(เซิร์ฟเวอร์ s)
ส่งกลับแอตทริบิวต์ max_group_run ของเซิร์ฟเวอร์ s ยกเลิกการตั้งค่า: 0

ชุด นี้ ServerQueuesGet(เซิร์ฟเวอร์ s)
ส่งคืนรายการคิวที่จัดการโดยเซิร์ฟเวอร์

ชุด การสัมภาษณ์ ServerJobsGet(เซิร์ฟเวอร์ s)
ส่งคืนรายการงานที่จัดการโดยเซิร์ฟเวอร์ เพื่อให้ได้เซตย่อยของสิ่งนี้
รายการดู QueJobsGet().

Int ServerIntResAvailGet(เซิร์ฟเวอร์ s, เชือก ชื่อ)
ส่งคืนค่าทรัพยากรที่ระบุใน ชื่อ ที่พร้อมรับงาน
ดำเนินการโดยเซิร์ฟเวอร์นี้ (Server Resources_available.name คุณลักษณะ). เรียกสิ่งนี้ว่า
ฟังก์ชันสำหรับทรัพยากรที่มีค่าที่เป็นประเภท Int แหล่งข้อมูลตัวอย่าง
ชื่อคือ: cput, pcput, walltime, mppt, pmppt, ดี, procs, mppe, ncpus,
pncpus, nodect, srfs_assist, mta,..., mth สำหรับคำอธิบายเหล่านี้
ชื่อทรัพยากร ดู pbs_resources_irix5(7B) pbs_resources_sp2(7B)
pbs_resources_sunos4(7B) pbs_resources_unicos8(7B)
pbs_server_attributes(7B) pbs_resources_irix6(7B)
pbs_resources_linux(7บี).

ตัวอย่าง:
Int ซีพียูพร้อมใช้งาน;
// กลับ # of ซีพียู ในปัจจุบัน ใช้ได้ in
// เซิร์ฟเวอร์
ซีพียูAvail = ServerIntResAvailGet(เซิร์ฟเวอร์ "กปปส");

ขนาด ServerSizeResAvailGet(เซิร์ฟเวอร์ s, เชือก ชื่อ)
ส่งคืนค่าทรัพยากรที่ระบุใน ชื่อ ที่พร้อมรับงาน
ดำเนินการโดยเซิร์ฟเวอร์นี้ (Server Resources_available.name คุณลักษณะ). เรียกสิ่งนี้ว่า
ฟังก์ชันสำหรับทรัพยากรที่มีค่าที่เป็นประเภทขนาด แหล่งข้อมูลตัวอย่าง
ชื่อ: file, mem, pmem, workingset, pf, ppf, srfs_tmp, srfs_wrk,
srfs_big, srfs_fast, sds, psds สำหรับคำอธิบายของทรัพยากรเหล่านี้
ชื่อดู pbs_resources_irix5(7B) pbs_resources_sp2(7B)
pbs_resources_sunos4(7B) pbs_resources_unicos8(7B)
pbs_server_attributes(7B) pbs_resources_irix6(7B)
pbs_resources_linux(7บี).

ตัวอย่าง:
ขนาด ความพร้อมใช้งาน;
// กลับ จำนวน of ใช้ได้ หน่วยความจำ in
// เซิร์ฟเวอร์
memavail = ServerSizeResAvailGet(เซิร์ฟเวอร์ "เมม");

เชือก ServerStringResAvailGet(เซิร์ฟเวอร์ s, เชือก ชื่อ)
ส่งคืนค่าทรัพยากรที่ระบุใน ชื่อ ที่พร้อมรับงาน
ดำเนินการโดยเซิร์ฟเวอร์นี้ (Server Resources_available.name คุณลักษณะ). เรียกสิ่งนี้ว่า
ฟังก์ชันสำหรับทรัพยากรที่มีค่าที่เป็นประเภทสตริง ตัวอย่าง
ชื่อทรัพยากรคือ: โหนด, โค้ง, neednodes สำหรับคำอธิบายเหล่านี้
ชื่อทรัพยากร ดู pbs_resources_irix5(7B) pbs_resources_sp2(7B)
pbs_resources_sunos4(7B) pbs_resources_unicos8(7B)
pbs_server_attributes(7B) pbs_resources_irix6(7B)
pbs_resources_linux(7บี).

ตัวอย่าง:
เชือก พิมพ์;
// กลับ สถาปัตยกรรม (หรือ os พิมพ์) of
// เซิร์ฟเวอร์
ชนิด = ServerStringResAvailGet(เซิร์ฟเวอร์ "โค้ง");

Int ServerIntResAssignGet(เซิร์ฟเวอร์ s, เชือก ชื่อ)
ส่งคืนค่าทรัพยากรที่ระบุใน ชื่อ ที่จัดสรรให้
งานที่ทำงานอยู่ (Server ทรัพยากร_assigned.name คุณลักษณะ). เรียกสิ่งนี้ว่า
ฟังก์ชันสำหรับทรัพยากรที่มีค่าที่เป็นประเภท Int แหล่งข้อมูลตัวอย่าง
ชื่อคือ: cput, pcput, walltime, mppt, pmppt, ดี, procs, mppe, ncpus,
pncpus, nodect, srfs_assist, mta,..., mth สำหรับคำอธิบายเหล่านี้
ชื่อทรัพยากร ดู pbs_resources_irix5(7B) pbs_resources_sp2(7B)
pbs_resources_sunos4(7B) pbs_resources_unicos8(7B)
pbs_server_attributes(7B) pbs_resources_irix6(7B)
pbs_resources_linux(7บี).

ตัวอย่าง:
Int ซีพียู Assn;
// กลับ # of ซีพียู ในปัจจุบัน ที่ได้รับมอบหมาย in
// เซิร์ฟเวอร์
ซีพียู = ServerIntResAssignGet(เซิร์ฟเวอร์ "กปปส");

ขนาด ServerSizeResAssignGet(เซิร์ฟเวอร์ s, เชือก ชื่อ)
ส่งคืนค่าทรัพยากรที่ระบุใน ชื่อ ที่จัดสรรให้
งานที่ทำงานอยู่ (Server ทรัพยากร_assigned.name คุณลักษณะ). เรียกสิ่งนี้ว่า
ฟังก์ชันสำหรับทรัพยากรที่มีค่าที่เป็นประเภทขนาด แหล่งข้อมูลตัวอย่าง
ชื่อ: file, mem, pmem, workingset, pf, ppf, srfs_tmp, srfs_wrk,
srfs_big, srfs_fast, sds, psds สำหรับคำอธิบายของทรัพยากรเหล่านี้
ชื่อดู pbs_resources_irix5(7B) pbs_resources_sp2(7B)
pbs_resources_sunos4(7B) pbs_resources_unicos8(7B)
pbs_server_attributes(7B) pbs_resources_irix6(7B)
pbs_resources_linux(7บี).

ตัวอย่าง:
ขนาด sdsAssn;
// กลับ จำนวน of SDS ช่องว่าง ในปัจจุบัน ที่ได้รับมอบหมาย
// in เซิร์ฟเวอร์
sdsAssn = ServerSizeResAssignGet(เซิร์ฟเวอร์ "เอสดีเอส");

เชือก ServerStringResAssignGet(เซิร์ฟเวอร์ s, เชือก ชื่อ)
ส่งคืนค่าทรัพยากรที่ระบุใน ชื่อ ที่จัดสรรให้
งานที่ทำงานอยู่ (Server ทรัพยากร_assigned.name คุณลักษณะ). เรียกสิ่งนี้ว่า
ฟังก์ชันสำหรับทรัพยากรที่มีค่าที่เป็นประเภทสตริง ตัวอย่าง
ชื่อทรัพยากรคือ: โหนด, โค้ง, neednodes สำหรับคำอธิบายเหล่านี้
ชื่อทรัพยากร ดู pbs_resources_irix5(7B) pbs_resources_sp2(7B)
pbs_resources_sunos4(7B) pbs_resources_unicos8(7B)
pbs_server_attributes(7B) pbs_resources_irix6(7B)
pbs_resources_linux(7บี).

ชุด ซีโหนด ServerNodesGet(เซิร์ฟเวอร์ s)
ส่งคืนชุดของโหนดที่จัดการโดยเซิร์ฟเวอร์ s ค่าที่ไม่ได้ตั้งค่า: EMPTYSETCNODE
หมายเหตุ: โดยปกติคุณสามารถเรียกใช้ฟังก์ชันต่อไปนี้สำหรับโหนดที่ส่งคืน
โดยการเรียกนี้: CnodeStateGet(), CnodePropertiesGet() และ CnodeTypeGet()

Int เซิร์ฟเวอร์NodesQuery(เซิร์ฟเวอร์ s, เชือก ข้อมูลจำเพาะ)
ออกคำขอไปยังเซิร์ฟเวอร์ที่ระบุเพื่อสอบถามความพร้อมใช้งานของ
ทรัพยากรที่ระบุใน ข้อมูลจำเพาะ ปัจจุบันทรัพยากรเพียงอย่างเดียว
ข้อกำหนดที่อนุญาตคือสิ่งที่เกี่ยวข้องกับ "โหนด" และสามารถเป็นของ
รูปแบบ "nodes", "nodes=" หรือ "nodes= " ผลการสืบค้นสามารถเป็น
เข้าถึงได้โดยการเรียกใช้ฟังก์ชันต่อไปนี้: ServerNodesNumAvailGet(),
ServerNodesNumAllocGet(), ServerNodesNumRsvdGet(),
ServerNodesNumDownGet()
หมายเหตุ: นี่คือกระดาษห่อหุ้มสำหรับ pbs_rescquery(3B) ฟังก์ชันเซิร์ฟเวอร์

ผลตอบแทน:
สำเร็จ ล้มเหลว

Int ServerNodesNumAvailGet(เซิร์ฟเวอร์ s)
ส่งกลับจำนวนโหนดที่พร้อมใช้งานสำหรับที่จัดการโดยที่ระบุ
เซิร์ฟเวอร์ หรือตามที่แสดงโดยคำค้นหาล่าสุดที่ระบุโดย
เซิร์ฟเวอร์NodesQuery() ถ้าค่าที่ส่งกลับเป็นศูนย์ แสดงว่า
ปัจจุบันจำนวนโหนดที่จำเป็นเพื่อให้เป็นไปตามข้อกำหนดของ
ServerNodesQuery() ไม่พร้อมใช้งานในขณะนี้ คำขออาจจะพอใจ
ในเวลาต่อมา ถ้าผลลัพธ์เป็นลบ จะไม่มีชุดค่าผสมที่รู้จัก
โหนดสามารถตอบสนองข้อกำหนดได้

Int ServerNodesNumAllocGet(เซิร์ฟเวอร์ s)
ส่งกลับจำนวนโหนดที่จัดสรรสำหรับผู้ที่จัดการโดยที่ระบุ
เซิร์ฟเวอร์ หรือตามที่แสดงโดยคำค้นหาล่าสุดที่ระบุโดย
เซิร์ฟเวอร์NodesQuery()

Int ServerNodesNumRsvdGet(เซิร์ฟเวอร์ s)
ส่งกลับจำนวนโหนดที่สงวนไว้สำหรับที่จัดการโดยที่ระบุ
เซิร์ฟเวอร์ หรือตามที่แสดงโดยคำค้นหาล่าสุดที่ระบุโดย
เซิร์ฟเวอร์NodesQuery()

Int ServerNodesNumDownGet(เซิร์ฟเวอร์ s)
ส่งกลับจำนวนโหนดลงสำหรับผู้ที่จัดการโดยที่ระบุ
เซิร์ฟเวอร์ หรือตามที่แสดงโดยคำค้นหาล่าสุดที่ระบุโดย
เซิร์ฟเวอร์NodesQuery()

Int ServerNodesReserve(เซิร์ฟเวอร์ s,สตริง ข้อมูลจำเพาะ,Int รหัสที่เหลือ)
ออกคำขอไปยังเซิร์ฟเวอร์ที่ระบุเพื่อสำรองทรัพยากร
ระบุไว้ใน ข้อมูลจำเพาะ ค่า 0 สำหรับ รหัสที่อยู่ หมายความว่านี่สำหรับการทำ a
การจองใหม่ มิฉะนั้นตัวเลขจะเป็นตัวแทนของที่มีอยู่
(บางส่วน) การจอง. ทรัพยากรที่สงวนไว้สำหรับสิ่งนี้ รหัสที่อยู่ จะ
จะถูกปล่อยและจะพยายามจองเต็มอีกครั้ง ที่
ปัจจุบัน ทรัพยากรเดียวที่อาจระบุได้คือ
"โหนด" ควรระบุเป็น โหนด=ข้อกำหนด ที่ไหน
ข้อมูลจำเพาะคือสิ่งที่ผู้ใช้ระบุในรายการอาร์กิวเมนต์ตัวเลือก -l
สำหรับโหนด โปรดดู qsub (1B)
หมายเหตุ: นี่คือกระดาษห่อหุ้มสำหรับ pbs_rescreserv(3B) ฟังก์ชันเซิร์ฟเวอร์

ผลตอบแทน:
หมายเลขอ้างอิงถึงสำเร็จหรือสำเร็จบางส่วน
การจอง หรือ FAIL

Int ServerNodesRelease(เซิร์ฟเวอร์ s, Int รหัสที่เหลือ)
รุ่นนี้หรือปล่อยทรัพยากรที่สงวนไว้ด้วยหมายเลขอ้างอิง
ระบุไว้ใน รหัสที่อยู่
หมายเหตุ: นี่คือกระดาษห่อหุ้มสำหรับ pbs_rescrelease(3B) ฟังก์ชันเซิร์ฟเวอร์

ผลตอบแทน:
สำเร็จหรือล้มเหลว

(2) ฟังก์ชั่นที่เกี่ยวข้องกับ Que:

เชือก QueNameGet( นี้ นี้ )
ส่งกลับชื่อของ Que que ค่าที่ไม่ได้ตั้งค่า: NULLSTR

Int QueTypeGet( นี้ นี้ )
ส่งกลับแอตทริบิวต์ queue_type ของ Que que
ส่งคืนค่า: QTYPE_E (การดำเนินการ), QTYPE_R (การกำหนดเส้นทาง), -1 (unset
มูลค่า)

Int QueNumJobsรับ( นี้ นี้ )
ส่งกลับจำนวนงานที่อาศัยอยู่ใน Que que ยกเลิกการตั้งค่า: 0

Int QueMaxRunJobsGet( นี้ นี้ )
ส่งกลับแอตทริบิวต์ max_running ของ Que que ยกเลิกการตั้งค่า: 0

Int QueMaxRunJobsPerUserGet( นี้ นี้ )
ส่งกลับแอตทริบิวต์ max_user_run ของ Que que ยกเลิกการตั้งค่า: 0

Int QueMaxRunJobsPerGroupGet( นี้ นี้ )
ส่งกลับแอตทริบิวต์ max_group_run ของ Que que ยกเลิกการตั้งค่า: 0

Int QuePriorityGet( นี้ นี้ )
ส่งกลับแอตทริบิวต์ลำดับความสำคัญของ Que que ยกเลิกการตั้งค่า: 0

Int QueStateGet( นี้ นี้ )
ส่งกลับแอตทริบิวต์เริ่มต้นของ Que que - การเลือกการดำเนินการงาน
สถานะของ que: SCHED_DISABLED, SCHED_ENABLED ค่าที่ไม่ได้ตั้งค่า:
กำหนด_ปิดการใช้งานแล้ว

ชุด การสัมภาษณ์ QueJobsรับ( นี้ นี้ )
ส่งคืนรายการงานที่อยู่ใน que ในปัจจุบัน

Int QueIntResAvailGet (คิว q, เชือก ชื่อ)
ส่งคืนค่าทรัพยากรที่ระบุใน ชื่อ ที่สามารถใช้ได้
งานที่ทำงานจาก q นี้ (Que Resources_available.name คุณลักษณะ).
เรียกใช้ฟังก์ชันนี้สำหรับทรัพยากรที่มีค่าที่เป็นประเภท Int
ชื่อทรัพยากรตัวอย่าง ได้แก่ cput, pcput, walltime, mppt, pmppt, nice,
procs, mppe, ncpus, pncpus, nodect, srfs_assist, mta,..., mth สำหรับ
คำอธิบายของชื่อทรัพยากรเหล่านี้ ดู pbs_resources_irix5(7B)
pbs_resources_sp2(7B) pbs_resources_sunos4(7B)
pbs_resources_unicos8(7B) pbs_server_attributes(7B)
pbs_resources_irix6(7B) pbs_resources_linux(7บี).

ขนาด QueSizeResAvailGet(คิว q, เชือก ชื่อ)
ส่งคืนค่าทรัพยากรที่ระบุใน ชื่อ ที่สามารถใช้ได้
งานที่ทำงานจาก q นี้ (Que Resources_available.name คุณลักษณะ).
เรียกใช้ฟังก์ชันนี้สำหรับทรัพยากรที่มีค่าที่เป็นประเภทขนาด
ตัวอย่างชื่อทรัพยากร ได้แก่ file, mem, pmem, workingset, pf, ppf,
srfs_tmp, srfs_wrk, srfs_big, srfs_fast, sds, psds สำหรับคำอธิบาย
ของชื่อทรัพยากรเหล่านี้ ดู pbs_resources_irix5(7B)
pbs_resources_sp2(7B) pbs_resources_sunos4(7B)
pbs_resources_unicos8(7B) pbs_server_attributes(7B)
pbs_resources_irix6(7B) pbs_resources_linux(7บี).

เชือก QueStringResAvailGet (คิว q, เชือก ชื่อ)
ส่งคืนค่าทรัพยากรที่ระบุใน ชื่อ ที่สามารถใช้ได้
งานที่ทำงานจาก q นี้ (Que Resources_available.name คุณลักษณะ).
เรียกใช้ฟังก์ชันนี้สำหรับทรัพยากรที่มีค่าที่เป็นประเภทสตริง
ชื่อทรัพยากรตัวอย่าง ได้แก่ โหนด อาร์ค โหนดที่ต้องการ สำหรับคำอธิบาย
ของชื่อทรัพยากรเหล่านี้ ดู pbs_resources_irix5(7B)
pbs_resources_sp2(7B) pbs_resources_sunos4(7B)
pbs_resources_unicos8(7B) pbs_server_attributes(7B)
pbs_resources_irix6(7B) pbs_resources_linux(7บี).

Int QueIntResAssignGet (คิว q, เชือก ชื่อ)
ส่งคืนค่าทรัพยากรที่ระบุใน ชื่อ ที่จัดสรรให้
งานที่รันจากคิวนี้ (Que ทรัพยากร_assigned.name คุณลักษณะ).
เรียกใช้ฟังก์ชันนี้สำหรับทรัพยากรที่มีค่าที่เป็นประเภท Int
ชื่อทรัพยากรตัวอย่าง ได้แก่ cput, pcput, walltime, mppt, pmppt, nice,
procs, mppe, ncpus, pncpus, nodect, srfs_assist, mta,..., mth สำหรับ
คำอธิบายของชื่อทรัพยากรเหล่านี้ ดู pbs_resources_irix5(7B)
pbs_resources_sp2(7B) pbs_resources_sunos4(7B)
pbs_resources_unicos8(7B) pbs_server_attributes(7B)
pbs_resources_irix6(7B) pbs_resources_linux(7บี).

ขนาด QueSizeResAssignGet(คิว q, เชือก ชื่อ)
ส่งคืนค่าทรัพยากรที่ระบุใน ชื่อ ที่จัดสรรให้
งานที่ทำงานจาก q นี้ (Que ทรัพยากร_assigned.name คุณลักษณะ).
เรียกใช้ฟังก์ชันนี้สำหรับทรัพยากรที่มีค่าที่เป็นประเภทขนาด
ตัวอย่างชื่อทรัพยากร ได้แก่ file, mem, pmem, workingset, pf, ppf,
srfs_tmp, srfs_wrk, srfs_big, srfs_fast, sds, psds สำหรับคำอธิบาย
ของชื่อทรัพยากรเหล่านี้ ดู pbs_resources_irix5(7B)
pbs_resources_sp2(7B) pbs_resources_sunos4(7B)
pbs_resources_unicos8(7B) pbs_server_attributes(7B)
pbs_resources_irix6(7B) pbs_resources_linux(7บี).

เชือก QueStringResAssignGet (คิว q, เชือก ชื่อ)
ส่งคืนค่าทรัพยากรที่ระบุใน ชื่อ ที่จัดสรรให้
งานที่ทำงานจาก q นี้ (Que ทรัพยากร_assigned.name คุณลักษณะ).
เรียกใช้ฟังก์ชันนี้สำหรับทรัพยากรที่มีค่าที่เป็นประเภทสตริง
ชื่อทรัพยากรตัวอย่าง ได้แก่ โหนด อาร์ค โหนดที่ต้องการ สำหรับคำอธิบาย
ของชื่อทรัพยากรเหล่านี้ ดู pbs_resources_irix5(7B)
pbs_resources_sp2(7B) pbs_resources_sunos4(7B)
pbs_resources_unicos8(7B) pbs_server_attributes(7B)
pbs_resources_irix6(7B) pbs_resources_linux(7บี).

(3) หน้าที่เกี่ยวกับงาน

เชือก รหัสงานรับ( การสัมภาษณ์ งาน )
ส่งกลับตัวระบุงานของงานงาน ค่าที่ไม่ได้ตั้งค่า: NULLSTR

เชือก ชื่องานรับ( การสัมภาษณ์ งาน )
ส่งกลับแอตทริบิวต์ Job_Name ของงาน Job ค่าที่ไม่ได้ตั้งค่า: NULLSTR

เชือก ชื่อเจ้าของงานรับ( การสัมภาษณ์ งาน )
ส่งกลับแอตทริบิวต์ Job_Owner ของงาน Job ค่าที่ไม่ได้ตั้งค่า: NULLSTR

เชือก JobEffectiveUserNameGet( การสัมภาษณ์ งาน)
ส่งกลับแอตทริบิวต์ euser ของงาน Job

เชือก JobEffectiveGroupNameGet(งาน งาน)
ส่งกลับแอตทริบิวต์ egroup ของงาน ค่าที่ไม่ได้ตั้งค่า: NULLSTR

Int จ็อบสเตทรับ ( การสัมภาษณ์ งาน )
ส่งกลับแอตทริบิวต์ job_state ของงาน Job

ผลตอบแทน:
TRANSIT, QUEUED, HELD, WAITING, RUNNING, EXITING, -1 (ไม่ได้ตั้งค่า
มูลค่า)

Int งานลำดับความสำคัญรับ( การสัมภาษณ์ งาน )
ส่งกลับแอตทริบิวต์ Priority ของงาน Job ยกเลิกการตั้งค่า: 0

Int JobRerunFlagGet( การสัมภาษณ์ งาน )
ส่งกลับแอตทริบิวต์ Rerunable ของงาน Job
ส่งกลับค่า: FALSE, TRUE, -1 (unset value)

Int งาน InteractiveFlagGet ( การสัมภาษณ์ งาน )
ส่งกลับแอตทริบิวต์แบบโต้ตอบของงานงาน
ส่งคืนค่า: FALSE, TRUE ค่าที่ไม่ได้ตั้งค่า: FALSE

วันเวลา JobDateTimeCreatedGet(งาน งาน)
ส่งกลับแอตทริบิวต์ ctime ของงาน Job ค่าที่ไม่ได้ตั้งค่า:
(0|0|0@-1:-1:-1)

เชือก งานอีเมลAddrGet( การสัมภาษณ์ งาน )
ส่งกลับแอตทริบิวต์ Mail_Users ของงานงาน ค่าที่ไม่ได้ตั้งค่า: NULLSTR

เชือก JobStageinFilesGet( การสัมภาษณ์ งาน )
ส่งกลับแอ็ตทริบิวต์ stagein ของงาน Job ค่าที่ไม่ได้ตั้งค่า: NULLSTR

เชือก JobStageoutFilesGet( การสัมภาษณ์ งาน )
ส่งคืนแอ็ตทริบิวต์ stageout ของงาน Job ค่าที่ไม่ได้ตั้งค่า: NULLSTR

Int JobIntResReqGet(งาน งาน, เชือก ชื่อ)
ส่งคืนค่าทรัพยากรที่ระบุใน ชื่อ ตามที่ .ต้องการ
งาน (Job ทรัพยากร_List.name คุณลักษณะ). เรียกใช้ฟังก์ชันนี้สำหรับ
ทรัพยากรที่มีค่าที่เป็นประเภท Int ตัวอย่างชื่อทรัพยากร
ได้แก่ cput, pcput, walltime, mppt, pmppt, nice, procs, mppe, ncpus,
pncpus, nodect, srfs_assist, mta,..., mth สำหรับคำอธิบายเหล่านี้
ชื่อทรัพยากร ดู pbs_resources_irix5(7B) pbs_resources_sp2(7B)
pbs_resources_sunos4(7B) pbs_resources_unicos8(7B)
pbs_server_attributes(7B) pbs_resources_irix6(7B)
pbs_resources_linux(7บี).

ตัวอย่าง:
Int ซีพียูReq;
// รับคืน ซีพียู ความต้องการ of งาน
CPUReq = JobIntResReqGet(งาน, "ซีพียู");

ขนาด JobSizeResReqGet(งาน งาน, เชือก ชื่อ)
ส่งคืนค่าทรัพยากรที่ระบุใน ชื่อ ตามที่ .ต้องการ
งาน (Job ทรัพยากร_List.name คุณลักษณะ). เรียกใช้ฟังก์ชันนี้สำหรับ
ทรัพยากรที่มีค่าที่เป็นประเภทขนาด ตัวอย่างชื่อทรัพยากร
คือ: file, mem, pmem, workingset, pf, ppf, srfs_tmp, srfs_wrk,
srfs_big, srfs_fast, sds, psds สำหรับคำอธิบายของทรัพยากรเหล่านี้
ชื่อดู pbs_resources_irix5(7B) pbs_resources_sp2(7B)
pbs_resources_sunos4(7B) pbs_resources_unicos8(7B)
pbs_server_attributes(7B) pbs_resources_irix6(7B)
pbs_resources_linux(7บี).

ตัวอย่าง:
ขนาด memReq;
// รับคืน หน่วยความจำ ความต้องการ of งาน
เมมReq = JobSizeResReqGet(งาน, "เมม");

เชือก JobStringResReqGet(งาน งาน, เชือก ชื่อ)
ส่งคืนค่าทรัพยากรที่ระบุใน ชื่อ ตามที่ .ต้องการ
งาน (Job ทรัพยากร_List.name คุณลักษณะ). เรียกใช้ฟังก์ชันนี้สำหรับ
ทรัพยากรที่มีค่าที่เป็นประเภทสตริง ตัวอย่างชื่อทรัพยากร
คือ: โหนด, โค้ง, neednodes. สำหรับคำอธิบายของทรัพยากรเหล่านี้
ชื่อดู pbs_resources_irix5(7B) pbs_resources_sp2(7B)
pbs_resources_sunos4(7B) pbs_resources_unicos8(7B)
pbs_server_attributes(7B) pbs_resources_irix6(7B)
pbs_resources_linux(7บี).

ตัวอย่าง:
เชือก โหนด;
// รับคืน โหนด ความต้องการ คุณสมบัติ of
// งาน
โหนด = JobStringResReqGet(งาน, "โหนด");

Int JobIntResUseGet(งาน งาน, เชือก ชื่อ)
ส่งคืนค่าทรัพยากรที่ระบุใน ชื่อ ใช้โดยงาน (Job
Resources_used.name คุณลักษณะ). เรียกใช้ฟังก์ชันนี้สำหรับทรัพยากรด้วย
ค่าที่เป็นประเภท Int ตัวอย่างชื่อทรัพยากร ได้แก่ cput, pcput,
walltime, mppt, pmppt, ดี, procs, mppe, ncpus, pncpus, nodect,
srfs_assist, mta,..., mth. สำหรับคำอธิบายของชื่อทรัพยากรเหล่านี้
เห็น pbs_resources_irix5(7B) pbs_resources_sp2(7B)
pbs_resources_sunos4(7B) pbs_resources_unicos8(7B)
pbs_server_attributes(7B) pbs_resources_irix6(7B)
pbs_resources_linux(7บี).

ตัวอย่าง:
Int walltใช้;
// รับคืน จำนวน of วอลล์ไทม์ มือสอง by
// งาน
วอลล์ใช้ = JobIntResUseGet(งาน, "วอลล์ไทม์");

ขนาด JobSizeResUseGet(งาน งาน, เชือก ชื่อ)
ส่งคืนค่าทรัพยากรที่ระบุใน ชื่อ ใช้โดยงาน (Job
Resources_used.name คุณลักษณะ). เรียกใช้ฟังก์ชันนี้สำหรับทรัพยากรด้วย
ค่าที่เป็นประเภทขนาด ตัวอย่างชื่อทรัพยากร ได้แก่ file, mem,
pmem, ชุดทำงาน, pf, ppf, srfs_tmp, srfs_wrk, srfs_big, srfs_fast,
เอสดีเอส, พีเอสดี. สำหรับคำอธิบายของชื่อทรัพยากรเหล่านี้ โปรดดูที่
pbs_resources_irix5(7B) pbs_resources_sp2(7B)
pbs_resources_sunos4(7B) pbs_resources_unicos8(7B)
pbs_server_attributes(7B) pbs_resources_irix6(7B)
pbs_resources_linux(7บี).

ตัวอย่าง:
ขนาด srfsใช้;
// รับคืน จำนวน of srfs_fast มือสอง by
// งาน
srfsใช้ = JobSizeResUseGet(งาน, "srfs_fast");

เชือก JobStringResUseGet(งาน งาน, เชือก ชื่อ)
ส่งคืนค่าทรัพยากรที่ระบุใน ชื่อ ใช้โดยงาน (Job
Resources_used.name คุณลักษณะ). เรียกใช้ฟังก์ชันนี้สำหรับทรัพยากรด้วย
ค่าที่เป็นประเภทสตริง ชื่อทรัพยากรตัวอย่างคือ: โหนด,
ซุ้มประตู neednodes สำหรับคำอธิบายของชื่อทรัพยากรเหล่านี้ โปรดดูที่
pbs_resources_irix5(7B) pbs_resources_sp2(7B)
pbs_resources_sunos4(7B) pbs_resources_unicos8(7B)
pbs_server_attributes(7B) pbs_resources_irix6(7B)
pbs_resources_linux(7บี).

(4) CNode ฟังก์ชันที่เกี่ยวข้องกับ

ชุด ซีโหนด AllNodesGet (เป็นโมฆะ)
ส่งคืนรายการโหนดที่จัดการโดยเซิร์ฟเวอร์ที่ทำงานบน
โฮสต์ท้องถิ่น ซึ่งอาจรวมถึงโหนดที่ระบุ
ในไฟล์คอนฟิกูเรชันตัวกำหนดตารางเวลาซึ่งตัวเขียนตัวกำหนดตารางเวลา
ต้องการให้ระบบตรวจสอบข้อมูลเป็นระยะ เช่น สภาพ
ทรัพย์สิน เป็นต้น ดู pbs_sched_basl(8b) สำหรับการอภิปรายของ
รูปแบบไฟล์การกำหนดค่า
ข้อควรระวัง: ต้องเรียกใช้ฟังก์ชันนี้จากภายใน sched_main() so
ที่การทำซ้ำตามกำหนดเวลาทุกครั้งจะเป็นข้อมูลล่าสุด ชุด ซีโหนด
โครงสร้างจะถูกส่งกลับ อย่าเรียกสิ่งนี้จากคำสั่งที่ได้รับมอบหมาย
ตั้งใจที่จะเริ่มต้นตัวแปรโกลบอลตามที่คำสั่งจะเท่านั้น
ถูกเรียกครั้งเดียว

ซีโหนด AllNodesLocalHostGet (เป็นโมฆะ)
ส่งกลับอ็อบเจ็กต์ CNode ที่แสดงถึงโลคัลโฮสต์ มันคือ
ฟังก์ชั่นง่าย ๆ ในการเรียกระบบที่ไม่ทำคลัสเตอร์โดยมีเพียง 1 CNode
มีอยู่ ค่าที่ไม่ได้ตั้งค่า: NOCNODE
ข้อควรระวัง: ต้องเรียกใช้ฟังก์ชันนี้จากภายใน sched_main() (หรือ
จากภายในฟังก์ชันที่เรียกโดย sched_main) ดังนั้นในทุกๆ
การวนซ้ำการตั้งเวลา ใหม่ล่าสุด ซีโหนด โครงสร้างคือ
กลับมา อย่าเรียกสิ่งนี้จากคำสั่งที่ได้รับมอบหมายให้
เริ่มต้นตัวแปรส่วนกลางเนื่องจากคำสั่งจะถูกเรียกเท่านั้น
ครั้งหนึ่ง

เชือก CnodeNameGet(CNode โหนด)
ส่งกลับชื่อที่ไม่ซ้ำกัน (อย่างเป็นทางการ) ของโหนด (เช่น ResMom hostname
ในรูปแบบ 1 แม่/โหนด) ส่งคืนสตริงเดียวกันที่เป็น
ระบุไว้ในไฟล์คอนฟิกูเรชัน ค่าที่ไม่ได้ตั้งค่า: NULLSTR

เชือก CnodeOsGet(CNode โหนด)
ส่งคืนสถาปัตยกรรมระบบปฏิบัติการของโหนด (เช่น "irix5", "sp2") ยกเลิกการตั้งค่า
ค่า: NULLSTR

Int CNodeStateGet( ซีโหนด ปม )
ส่งกลับสถานะของโหนด

ผลตอบแทน:
CNODE_OFFLINE, CNODE_DOWN, CNODE_FREE, CNODE_RESERVE,
CNODE_INUSE_EXCLUSIVE, CNODE_INUSE_SHARED, CNODE_UNKNOWN

Int CNodeTypeGet( ซีโหนด ปม )
ส่งกลับประเภทของโหนด

ผลตอบแทน:
CNODE_TIMESHARED, CNODE_CLUSTER, CNODE_UNKNOWN

เชือก CNodePropertiesGet(CNode .) โหนด)
ส่งกลับรายการชื่ออื่นที่คั่นด้วยเครื่องหมายจุลภาคที่โหนดรู้จักโดย
(คุณสมบัติ ชื่อเครือข่ายอื่น) ตัวอย่างเช่น,
"babbage.OpenPBS.org" อาจเป็นชื่อโหนด แต่ก็สามารถรู้จักกันได้เช่นกัน
ผ่าน "bbbage1, babbage2" ค่าที่ไม่ได้ตั้งค่า: NULLSTR

เชือก CNoVendorGet (CNode .) โหนด)
ส่งกลับชื่อผู้ขายสำหรับฮาร์ดแวร์ของเครื่อง (เช่น
"sgi", "ibm") ค่าที่ไม่ได้ตั้งค่า: NULLSTR

Int CnodeNumCpusGet(CNode โหนด)
ส่งกลับจำนวนโปรเซสเซอร์ที่เชื่อมต่อกับโหนด ค่าที่ไม่ได้ตั้งค่า:
-1

ขนาด CnodeMemTotalGet( ซีโหนด โหนด เชือก ชนิด )
ส่งกลับหน่วยความจำทั้งหมดของ ชนิด สำหรับโหนด ชนิด เป็นกฎเกณฑ์
สตริงที่ตัวกำหนดตารางเวลากำหนดไว้ในตัวกำหนดตารางเวลา
ไฟล์การกำหนดค่า ค่าที่ไม่ได้ตั้งค่า: -1b
ตัวอย่าง:
// ได้รับ ทั้งหมด กายภาพ หน่วยความจำ
CnodeMemTotalGet (โหนด "จริง")
// ได้รับ ทั้งหมด เสมือน หน่วยความจำ
CnodeMemTotalGet (โหนด "เสมือน")

ขนาด CnodeMemavailGet( ซีโหนด โหนด เชือก ชนิด )
ส่งคืนหน่วยความจำที่มีอยู่ของ ชนิด สำหรับโหนด ชนิด เป็นกฎเกณฑ์
สตริงที่ตัวกำหนดตารางเวลากำหนดไว้ในตัวกำหนดตารางเวลา
ไฟล์การกำหนดค่า ค่าที่ไม่ได้ตั้งค่า: -1b
ดังนั้นการโทรตัวอย่างจะเป็น:
// ได้รับ ใช้ได้ กายภาพ หน่วยความจำ
CnodeMemavailGet (โหนด "จริง")
// ได้รับ ใช้ได้ เสมือน หน่วยความจำ
CnodeMemavailGet (โหนด "เสมือน")

Int CnodeIdletimeGet( ซีโหนด ปม )
ส่งกลับจำนวนวินาทีที่ไม่มีการกดแป้นพิมพ์หรือการเคลื่อนไหวของเมาส์
เกิดขึ้นบนเทอร์มินัลใด ๆ ที่เชื่อมต่อกับโหนด ค่าที่ไม่ได้ตั้งค่า: -1

ลอย CnodeLoadAveGet( ซีโหนด ปม )
ส่งกลับค่าโหลดเฉลี่ยของโหนดสำหรับซีพียูทั้งหมด ค่าที่ไม่ได้ตั้งค่า: -1.0

Int CnodeCpuPercentIdleGet( ซีโหนด ปม )
ส่งกลับเปอร์เซ็นต์ของเวลาว่างที่ตัวประมวลผลทั้งหมดของ node
มีประสบการณ์

Int CnodeCpuPercentSysGet( ซีโหนด ปม )
ส่งกลับเปอร์เซ็นต์ของเวลาที่ตัวประมวลผลทั้งหมดของโหนดมี
ใช้รหัสเคอร์เนลที่ใช้ไป

Int CnodeCpuPercentUserGet( ซีโหนด ปม )
ส่งกลับเปอร์เซ็นต์ของเวลาที่ตัวประมวลผลทั้งหมดของโหนดมี
ใช้รหัสผู้ใช้

Int CnodeCpuPercentGuestGet( ซีโหนด ปม )
ส่งกลับเปอร์เซ็นต์ของเวลาที่ตัวประมวลผลทั้งหมดของโหนดมี
ใช้ระบบปฏิบัติการแขก

Int CNoNetworkBwGet( ซีโหนด โหนด เชือก ชนิด )
ส่งกลับแบนด์วิดธ์ของเครือข่ายของโหนด ชนิด เป็นไบต์/วินาที
ชนิด ถูกกำหนดโดยตัวเขียนกำหนดการในตัวกำหนดตารางเวลา
ไฟล์การกำหนดค่า ค่าที่ไม่ได้ตั้งค่า: -1
ตัวอย่างการโทรคือ:
CNoNetworkBwGet( โหนด "ฮิปปี้" );
CNoNetworkBwGet( โหนด ดีดี้ );

ขนาด CnodeDiskSpaceTotalGet (CNode โหนด เชือก ชื่อ)
ส่งคืนพื้นที่ทั้งหมดของโหนดบนดิสก์ที่ระบุโดย ชื่อ ที่ไหน ชื่อ
เป็นชื่ออุปกรณ์ที่กำหนดโดยพลการโดยตัวเขียนกำหนดการใน
ไฟล์การกำหนดค่าตัวกำหนดตารางเวลา ค่าที่ไม่ได้ตั้งค่า: -1b
ตัวอย่าง:
CnodeDiskSpaceTotalGet( โหนด "/scratch2" );

ขนาด CnodeDiskSpaceAvailGet (CNode โหนด เชือก ชื่อ)
ส่งคืนพื้นที่ว่างของโหนดบนดิสก์ที่ระบุโดย ชื่อ ที่ไหน
ชื่อ ถูกกำหนดโดยพลการโดยตัวเขียนกำหนดการในตัวกำหนดตารางเวลา
ไฟล์การกำหนดค่า ค่าที่ไม่ได้ตั้งค่า: -1b
ตัวอย่าง:
CnodeDiskSpaceAvailGet( โหนด "/scratch1" );

ขนาด CnodeDiskSpaceReservedGet (CNode โหนด เชือก ชื่อ)
ส่งคืนพื้นที่สงวนของโหนดบนดิสก์ (โควตาผู้ใช้?) ที่ระบุโดย
ชื่อ ที่ไหน ชื่อ ถูกกำหนดโดยพลการโดยตัวเขียนกำหนดการใน
ไฟล์การกำหนดค่าตัวกำหนดตารางเวลา ค่าที่ไม่ได้ตั้งค่า: -1b
ตัวอย่าง:
CnodeDiskSpaceReservedGet ( โหนด "/scratch1" );

Int CnodeDiskInBwGet( ซีโหนด โหนด เชือก ชื่อ )
ส่งกลับแบนด์วิดธ์การเขียน (ไบต์/วินาที) ของดิสก์ของโหนดที่ระบุ
by ชื่อ . ค่าที่ไม่ได้ตั้งค่า: -1
ตัวอย่าง:
CnodeDiskInBwGet( โหนด "/เร็ว" );

Int CnodeDiskOutBwGet( ซีโหนด โหนด เชือก ชื่อ )
ส่งคืนแบนด์วิดท์การอ่าน (ไบต์/วินาที) ของดิสก์ของโหนดที่ระบุโดย
ชื่อ . ค่าที่ไม่ได้ตั้งค่า: -1
ตัวอย่าง:
CnodeDiskOutBwGet( โหนด "/ใหญ่" );

ขนาด CnodeSwapSpaceTotalGet( ซีโหนด โหนด เชือก ชื่อ )
ส่งกลับพื้นที่ทั้งหมดของโหนดในการแลกเปลี่ยนที่ระบุโดย ชื่อ ที่ไหน ชื่อ
ถูกกำหนดโดยพลการโดยตัวเขียนกำหนดการในตัวกำหนดตารางเวลา
ไฟล์การกำหนดค่า ค่าที่ไม่ได้ตั้งค่า: -1b
ตัวอย่าง:
CnodeSwapSpaceTotalGet( โหนด "หลัก" );

ขนาด CnodeSwapSpaceAvailGet( ซีโหนด โหนด เชือก ชื่อ )
ส่งคืนพื้นที่ว่างของโหนดบน swap ที่ระบุโดย ชื่อ ที่ไหน ชื่อ
เป็นชื่ออุปกรณ์ที่กำหนดโดยพลการโดยตัวเขียนกำหนดการใน
ไฟล์การกำหนดค่าตัวกำหนดตารางเวลา ค่าที่ไม่ได้ตั้งค่า: -1b
ตัวอย่าง:
CnodeSwapSpaceAvailGet( โหนด "รอง" );

Int CNoSwapInBwGet( ซีโหนด โหนด เชือก ชื่อ )
ส่งกลับอัตรา swapin ของอุปกรณ์ swap ของโหนดที่ระบุโดย ชื่อ
ตัวอย่าง:
CnodeSwapInBwGet (โหนด "รอง");

Int CNoSwapOutBwGet( ซีโหนด โหนด เชือก ชื่อ )
ส่งกลับอัตราการสลับของอุปกรณ์สลับของโหนดที่ระบุโดย
ชื่อ ค่าที่ไม่ได้ตั้งค่า: -1
ตัวอย่าง:
CnodeSwapOutBwGet (โหนด "หลัก");

ขนาด CNodeTapeSpaceTotalGet ( ซีโหนด โหนด เชือก ชื่อ )
ส่งกลับพื้นที่ทั้งหมดของโหนดบนเทปที่ระบุโดย ชื่อ ที่ไหน ชื่อ
ถูกกำหนดโดยพลการโดยตัวเขียนกำหนดการในตัวกำหนดตารางเวลา
ไฟล์การกำหนดค่า ค่าที่ไม่ได้ตั้งค่า: -1b
ตัวอย่าง:
CNodeTapeSpaceTotalGet (โหนด "4mm");

ขนาด CNodeTapeSpaceAvailGet ( ซีโหนด โหนด เชือก ชื่อ )
ส่งคืนพื้นที่ว่างของโหนดบนเทปที่ระบุโดย ชื่อ ที่ไหน
ชื่อ ถูกกำหนดโดยพลการโดยตัวเขียนกำหนดการในตัวกำหนดตารางเวลา
ไฟล์การกำหนดค่า ค่าที่ไม่ได้ตั้งค่า: -1b
ตัวอย่าง:
CnodeTapeSpaceAvailGet (โหนด "8 มม.");

Int CNodeTapeInBwGet( ซีโหนด โหนด เชือก ชื่อ )
ส่งกลับแบนด์วิดธ์การเขียน (ไบต์/วินาที) ของเทปที่ระบุของโหนด
by ชื่อ . ค่าที่ไม่ได้ตั้งค่า: -1
ตัวอย่าง:
CNodeTapeInBwGet( โหนด "4 มม." );

Int CNodeTapeOutBwGet( ซีโหนด โหนด เชือก ชื่อ )
ส่งคืนแบนด์วิดท์การอ่าน (ไบต์/วินาที) ของเทปที่ระบุของโหนด
by ชื่อ . ค่าที่ไม่ได้ตั้งค่า: -1
ตัวอย่าง:
CNodeTapeOutBwGet( โหนด "8 มม." );

ขนาด CnodeSrfsSpaceTotalGet( ซีโหนด โหนด เชือก ชื่อ )
ส่งกลับพื้นที่ทั้งหมดของโหนดบนอุปกรณ์ srfs ที่ระบุโดย ชื่อ
ที่ไหน ชื่อ ถูกกำหนดโดยพลการโดยตัวเขียนกำหนดการใน
ไฟล์การกำหนดค่าตัวกำหนดตารางเวลา ค่าที่ไม่ได้ตั้งค่า: -1b
ตัวอย่าง:
CnodeSrfsSpaceTotalGet (โหนด "/เร็ว");

ขนาด CnodeSrfsSpaceAvailGet( ซีโหนด โหนด เชือก ชื่อ )
ส่งคืนพื้นที่ว่างของโหนดบนอุปกรณ์ srfs ที่ระบุโดย ชื่อ
ที่ไหน ชื่อ ถูกกำหนดโดยพลการโดยตัวกำหนดตารางเวลาในบางส่วน
ไฟล์การกำหนดค่า ค่าที่ไม่ได้ตั้งค่า: -1b
ตัวอย่าง:
CnodeSrfsSpaceAvailGet( โหนด "/ใหญ่" );

ขนาด CnodeSrfsSpaceReservedGet (CNode โหนด เชือก ชื่อ)
ส่งกลับจำนวนพื้นที่สงวนทั้งหมดของโหนดบนอุปกรณ์ srfs
ระบุโดย ชื่อ ที่ไหน ชื่อ ถูกกำหนดโดยพลการโดยตัวกำหนดตารางเวลา
เขียนในไฟล์กำหนดค่าตัวกำหนดตารางเวลา ค่าที่ไม่ได้ตั้งค่า: -1b
ตัวอย่าง:
CnodeSrfsSpaceReservedGet ( โหนด "/เร็ว" );

Int CnodeSrfsInBwGet( ซีโหนด โหนด เชือก ชื่อ )
ส่งกลับแบนด์วิดธ์การเขียน (ไบต์/วินาที) ของอุปกรณ์ srfs ของโหนด
ระบุโดย ชื่อ . ค่าที่ไม่ได้ตั้งค่า: -1
ตัวอย่าง:
CnodeSrfsInBwGet (โหนด "/เร็ว" );

Int CnodeSrfsOutBwGet( ซีโหนด โหนด เชือก ชื่อ )
ส่งกลับแบนด์วิดท์การอ่าน (ไบต์/วินาที) ของอุปกรณ์ srfs ของโหนด
ระบุโดย ชื่อ . ค่าที่ไม่ได้ตั้งค่า: -1
ตัวอย่าง:
CnodeSrfsOutBwGet (โหนด "/big" );

(5) ฟังก์ชั่นเบ็ดเตล็ด

วันเวลา วันที่และเวลารับ ()
รับวันที่/เวลาปัจจุบัน

Int datetimeToSecs (วันที่เวลา ดีที)
คืนค่า # วินาทีตั้งแต่ยุค (จุดเริ่มต้นของเวลา UNIX -
00:00:00 น. 1 มกราคม 1970) สำหรับวันที่/เวลาที่กำหนด ดีที

Int งานการกระทำ( การสัมภาษณ์ งาน, Int การกระทำ เชือก พารามิเตอร์ )
ดำเนินการ การกระทำ on งาน กับ พารามิเตอร์ กำหนดขึ้นอยู่กับ
การกระทำ การกระทำ สามารถ: ซิงค์, อซิงค์รัน, ลบ, รันใหม่, ถือ,
ปล่อย, สัญญาณ, แก้ไข, แก้ไขโดยที่:
การกระทำ รายละเอียด
=============== ==========================
ซิงค์รัน ทำงาน งาน พร้อมกัน
ความหมาย โทรศัพท์ ไปยัง
งานการกระทำ() จะ เพียง
กลับ เมื่อ งาน มี
ข้อความที่เริ่ม วิ่ง or เมื่อ
an ความผิดพลาด มี รับ
ได้พบเจอ
Param ราคา:
ชื่อ of โฮสต์ ไปยัง วิ่ง
งาน ภายใต้

แอสซิงครัน ทำงาน งาน แบบอะซิงโครนัส
ความหมาย โทรศัพท์ ไปยัง
งานการกระทำ() จะ กลับ
ทันที as ในไม่ช้า as
วิ่ง ขอ is
การตรวจสอบ by พีบีเอส เซิร์ฟเวอร์
และ ไม่ จำเป็นต้อง เมื่อ
งาน มี ข้อความที่เริ่ม
การดำเนินการ
Param ราคา:
ชื่อ of โฮสต์ ไปยัง วิ่ง
งาน ภายใต้

ลบ ลบ งาน
Param ราคา:
"เดลเลย์=<# of วินาที>"
- ความล่าช้า # of วินาที
ระหว่าง การส่ง
of ซิกเทอร์ม และ ซิกกิล
ไปยัง งาน ก่อน
ได้รับ ที่ถูกลบ

รีรัน ทอดพระเนตร วิ่ง งาน,
ที่ ที่เกี่ยวข้องกับการ ยกเลิก
เซสชั่น ผู้นำ of
งาน และ การคืน งาน
ไปยัง จัดคิว รัฐ

ถือ สถานที่ หนึ่ง or ข้อมูลเพิ่มเติม ถือ
on งาน
Param ราคา:
"ยู", "โอ" "NS", "NS", "โอเอส",
"อุส"
- ชนิด of ถือ ไปยัง สถานที่
on งาน: คุณ (เซอร์) อื่น ๆ),
ระบบ).

ปล่อย ลบ or เผยแพร่
ถือ วางไว้ on งาน
Param ราคา:
"ยู", "โอ" "NS", "NS", "โอเอส",
"อุส"
- ชนิด of ถือ ไปยัง เอาออก
ราคาเริ่มต้นที่ งาน: คุณ (เซอร์) อื่น ๆ),
ระบบ).

สัญญาณ ส่ง a สัญญาณ ไปยัง
การดำเนินงาน งาน
Param ราคา:
"ฮับ" "ซิกอัพ",...

ปรับเปลี่ยน แก้ไข ที่ระบุไว้
คุณลักษณะ of งาน ไปยัง
กำหนด มูลค่า เมื่อ
attrib_name is
!= "Resource_List" or
"resources_used"
Param ราคา:
"attrib_name=ค่า"

แก้ไขข้อความ แก้ไข งาน
ทรัพยากร_รายการ
คุณลักษณะ กำหนด
res_name และ
ค่าใหม่:
Resource_List.res_name=
ค่า res_value
Param ราคา:
"res_name=res_val"
พารามิเตอร์ ค่าขึ้นอยู่กับการกระทำ ระบุ NULLSTR หากไม่มีค่าสำหรับ
พารามิเตอร์นี้เป็นที่ต้องการ
ส่งคืนค่า: SUCCESS หรือ FAIL
หมายเหตุ: ใด ๆ ที่ไม่รู้จัก การกระทำ ถูกละเว้น
ตัวอย่าง:
// วิ่ง การสัมภาษณ์ j พร้อมกัน
JobAction(เจ, ซิงค์รัน NULLSTR);

// วิ่ง การสัมภาษณ์ j แบบอะซิงโครนัส on เจ้าภาพ "ดีบี"
JobAction(เจ, อะซิงค์รัน "db");

// ลบ การสัมภาษณ์ j
JobAction(เจ, ลบ, NULLSTR);

// ลบ การสัมภาษณ์ j กับ a ความล่าช้า of 5 วินาที
// ระหว่าง การส่ง of ซิกเทอร์ม และ
// ซิกกิล
JobAction(เจ, ลบ, "เดลเลย์=5");

// ฉายซ้ำ การสัมภาษณ์ j
JobAction(เจ, รีรัน NULLSTR);

// สถานที่ a คุณ (เซอร์) ถือ on การสัมภาษณ์ j
JobAction(เจ, ถือ, "ยู");

// สถานที่ an อื่น ๆ) ถือ on การสัมภาษณ์ j
JobAction(เจ, ถือ, "โอ");

// สถานที่ a ระบบ) ถือ on การสัมภาษณ์ j
JobAction(เจ, ถือ, "NS");

// สถานที่ a ผิดนัด ถือ (ยู) on การสัมภาษณ์ j
JobAction(เจ, ถือ, NULLSTR);

// ปล่อย คุณ (เซอร์) ถือ ราคาเริ่มต้นที่ การสัมภาษณ์ j
JobAction(เจ, ปล่อย, "ยู");

// ปล่อย อื่น ๆ) ถือ ราคาเริ่มต้นที่ การสัมภาษณ์ j
JobAction(เจ, ปล่อย, "โอ");

// ปล่อย ระบบ) ถือ ราคาเริ่มต้นที่ การสัมภาษณ์ j
JobAction(เจ, ปล่อย, "NS");

// ปล่อย ผิดนัด ถือ (ยู) ราคาเริ่มต้นที่ การสัมภาษณ์ j
JobAction(เจ, ปล่อย, NULLSTR);

// ส่ง ซิกอัพ สัญญาณ ไปยัง การสัมภาษณ์ j
JobAction(เจ, สัญญาณ, "ซิกอัพ");

// ปรับปรุง ความเห็น คุณลักษณะ of การสัมภาษณ์
// j ไปยัง "a ข้อความ".
// พื้นที่ พารามิเตอร์ รูป คือ: คุณลักษณะ_ชื่อ=ค่าใหม่
// ปรึกษา พีบีเอส เอกสาร for a รายการ of งาน
// คุณลักษณะ ชื่อ ที่ สามารถ be ระบุไว้
JobAction(เจ, แก้ไข "ความคิดเห็น=a ข้อความ");
// ปรับปรุง Resource_List.cput คุณลักษณะ of การสัมภาษณ์
// j ไปยัง 3600 วินาที
// พื้นที่ พารามิเตอร์ รูป คือ: resources_name=new_value
// ดู pbs_resources* มนุษย์ หน้า for a รายการ of
// ทรัพยากร_names ที่ สามารถ be ระบุไว้
JobAction(เจ, แก้ไข "ซีพียู=3600");

QueJobFind(คิว คิวสนุก Int ฟังก์ชั่น, Int ซีพีอาร์,อินเตอร์ ค่า);

QueJobFind(คิว คิวสนุก เชือก ฟังก์ชั่น, Int ซีพีอาร์,สตริง ค่า);

QueJobFind(คิว คิวสนุก วันเวลา ฟังก์ชั่น, Int cpr,วันที่เวลา ค่า);

QueJobFind(คิว คิวสนุก ขนาด ฟังก์ชั่น, Int ซีพีอาร์,ขนาด ค่า);

ที่ไหน CPR เป็นหนึ่งใน: OP_EQ, OP_NEQ, OP_LE, OP_LT, OP_GE, OP_GT ฟังก์ชั่น
เป็นฟังก์ชันที่มีอาร์กิวเมนต์เฉพาะของประเภทงานเท่านั้น การสัมภาษณ์ คือการกลับมา
ชนิด

คำอธิบาย: Applys ฟังก์ชั่น สู่ทุกงานใน นี้ , และคืนก่อน
งานที่ตรงกับการเปรียบเทียบเชิงตรรกะ: func(งาน) CPR ความคุ้มค่า

ตัวอย่าง:

ขนาด JobVirtualMemavailGet(งาน งาน)
{
ขนาด ซ;

sz = JobSizeResReqGet(งาน, "เมม");
ผลตอบแทน(sz);
}
Int JobWallTimeReqGet(งาน งาน)
{
Int วอลล์;

กำแพง = JobIntResReqGet(งาน, "วอลล์ไทม์");
กลับ(wallt);
}

Int JobCpuTimeUsedGet(งาน งาน)
{
Int ซีพียู;

ซีพียู = JobIntResUseGet(งาน, "ซีพียู");
ผลตอบแทน(cput);
}

นี้ findQueByName(ตั้งค่า นี้ คิว เชือก ชื่อ)
{
นี้ q;

foreach (q in คิว) {
ถ้า( QueNameGet(คิว) EQ ชื่อ ) {
ผลตอบแทน (q);
}
}
ผลตอบแทน (NOQUE);
}
sched_main()
{
เซิร์ฟเวอร์ s;
นี้ คิว;
ชุด นี้ ตร.ม.

// ได้รับ ในประเทศ เซิร์ฟเวอร์
s = เซิร์ฟเวอร์ทั้งหมดLocalHostGet();

// ได้รับ คิว of เซิร์ฟเวอร์ s
sq = ServerQuuesGet (s);

// ได้รับ คิว ชื่อ "เร็ว" ราคาเริ่มต้นที่
// ในประเทศ เซิร์ฟเวอร์
นี้ = ค้นหาQueByName( ตร. "เร็ว" );

// หา 1st งาน ใคร วอลล์ไทม์ ความต้องการ
// is == 300s:
QueJobFind(คิว JobWallTimeReqGet, OP_EQ, 300);

// หา 1st งาน ใคร อีเมล ที่อยู่ ไปยัง
// แจ้ง เกี่ยวกับ งาน อยากทำกิจกรรม != "บายูกัน":
QueJobFind(คิว งานอีเมลAddrGet, OP_NEQ
"บายูกัน");

// หา 1st งาน ที่ คือ ที่สร้างขึ้น หลังจาก
// or on 3 / 3 / 1997:
QueJobFind(คิว JobDateTimeCreatedรับ OP_GE,
(3|3|1997));

// หา 1st งาน ที่ คือ ที่สร้างขึ้น หลังจาก
// 3:3:44:
QueJobFind(คิว JobDateTimeCreatedรับ OP_GT,
(3:3:44));

// หา 1st งาน ที่ คือ ที่สร้างขึ้น หลังจาก
// 3:3:44 on 3 / 3 / 1997:
QueJobFind(คิว JobDateTimeCreatedรับ OP_GT,
(3|3|1997@3:3:44));

// หา 1st งาน ใคร ซีพียู เวลา มือสอง < 1600s:
QueJobFind(คิว JobCpuTimeUsedรับ OP_LT, 1600);

// หา 1st งาน ใคร เสมือน หน่วยความจำ
// ความต้องการ <= 300mb:
QueJobFind(คิว JobVirtualMemavailGet, OP_LE,
300เมกะไบต์);
}

การสัมภาษณ์ QueJobค้นหา( นี้ ที่ สนุก Int ฟังก์, Int ซีพีอาร์)

การสัมภาษณ์ QueJobค้นหา( นี้ ที่ สนุก เชือก ฟังก์, Int ซีพีอาร์)

การสัมภาษณ์ QueJobค้นหา( นี้ ที่ สนุก วันเวลา ฟังก์, Int ซีพีอาร์)

การสัมภาษณ์ QueJobค้นหา( นี้ ที่ สนุก ขนาด ฟังก์, Int ซีพีอาร์)

ที่ไหน CPR สามารถเป็นอย่างใดอย่างหนึ่งต่อไปนี้: OP_MAX, OP_MIN, ฟังก์ชั่น คือ
ฟังก์ชันที่มีอาร์กิวเมนต์เพียงอย่างเดียวคือประเภทงาน

คำอธิบาย: ส่งกลับงานด้วยค่าสูงสุดหรือต่ำสุดที่พบสำหรับ
func(งาน) ที่ปรับใช้กับทุกงานใน นี้ .

ตัวอย่าง:
Int JobCpuTimeReqGet(งาน งาน)
{
Int ซีพียู;

ซีพียู = JobIntResReqGet(งาน, "ซีพียู");
ผลตอบแทน(cput);
}
sched_main()
{
นี้ คิว;
การสัมภาษณ์ งาน;

// หา การสัมภาษณ์ กับ ที่สูงที่สุด ซีพียู เวลา
// ความต้องการ:
งาน = QueJobFind(คิว งานCpuTimeReqGet, OP_MAX);

// หา การสัมภาษณ์ กับ ขั้นต่ำ ซีพียู เวลา
// ความต้องการ:
งาน = QueJobFind(คิว งานCpuTimeReqGet, OP_MIN);
}

นี้ QueFilter (คิว คิวสนุก Int ฟังก์ชั่น, Int ซีพีอาร์,อินเตอร์ มูลค่า)

นี้ QueFilter (คิว คิวสนุก เชือก ฟังก์ชั่น, Int ซีพีอาร์,สตริง มูลค่า)

นี้ QueFilter (คิว คิวสนุก วันเวลา ฟังก์ชั่น, Int cpr,วันที่ มูลค่า)

นี้ QueFilter (คิว คิวสนุก ขนาด ฟังก์ชั่น, Int ซีพีอาร์,ขนาด มูลค่า)

ที่ไหน CPR สามารถเป็นอย่างใดอย่างหนึ่งต่อไปนี้: OP_EQ, OP_NEQ, OP_LE, OP_LT,
OP_GE, OP_GT ฟังก์ชั่น เป็นฟังก์ชันที่มีอาร์กิวเมนต์เพียงอย่างเดียวคือประเภทงาน

คำอธิบาย: Applys ฟังก์ชั่น สู่ทุกงานใน นี้ , และส่งคืน que ใหม่
มีงานทั้งหมดที่ตรงตามเงื่อนไขการเปรียบเทียบ:
func(งาน) CPR ความคุ้มค่า

ตัวอย่าง:
Int JobWallTimeReqGet(งาน งาน)
{
Int วอลล์;

กำแพง = JobIntResReqGet(งาน, "วอลล์ไทม์");
กลับ(wallt);
}
sched_main()
{
นี้ คิว;
นี้ นิวคิว;

// คืนสินค้า a ใหม่ นี้ ที่มี ทั้งหมด ตำแหน่งงาน in "คิว"
// กับ a วอลล์ไทม์ ความต้องการ == 300s:
ใหม่ = QueFilter(คิว, JobWallTimeReqGet, OP_EQ, 300);

// คืนสินค้า a ใหม่ นี้ ที่มี ทั้งหมด ตำแหน่งงาน in "คิว"
// กับ an อีเมล ที่อยู่ != "บายูกัน":
ใหม่ = QueFilter(คิว, งานอีเมลAddrGet, OP_NEQ "บายูกัน");

// คืนสินค้า a ใหม่ นี้ ที่มี ทั้งหมด ตำแหน่งงาน in "คิว"
// ที่สร้างขึ้น หลังจาก or on 3 / 3 / 1997:
ใหม่ = QueFilter(คิว, JobDateTimeCreatedรับ OP_GE,
(3|3|1997));

// คืนสินค้า a ใหม่ นี้ ที่มี ทั้งหมด ตำแหน่งงาน in "คิว"
// ที่สร้างขึ้น หลังจาก 3:3:44:
ใหม่ = QueFilter(คิว, JobDateTimeCreatedรับ OP_GT,
(3:3:44));

// คืนสินค้า a ใหม่ นี้ ที่มี ทั้งหมด ตำแหน่งงาน in "คิว"
// ที่สร้างขึ้น หลังจาก 3:3:44 on 3 / 3 / 1997:
ใหม่ = QueFilter(คิว, JobDateTimeCreatedรับ OP_GT,
(3|3|1997@3:3:44));

// หมายเหตุ: พื้นที่ เป็นต้นฉบับ "คิว" is ไม่ การแก้ไข
// ใด ๆ
}

Int เรียง(Set การสัมภาษณ์ s, สนุก Int สำคัญ, Int การสั่งซื้อ)

Int เรียง(Set การสัมภาษณ์ s, สนุก เชือก สำคัญ, Int การสั่งซื้อ)

Int เรียง(Set การสัมภาษณ์ s, สนุก ลอย สำคัญ, Int การสั่งซื้อ)

Int เรียง(Set การสัมภาษณ์ s, สนุก วันเวลา สำคัญ, Int การสั่งซื้อ)

Int เรียง(Set การสัมภาษณ์ s, สนุก ขนาด สำคัญ, Int การสั่งซื้อ)

ที่ไหน s ชุดของงานที่จะเรียงลำดับ สำคัญ คือคีย์การเรียงลำดับซึ่งก็คือ a
ฟังก์ชันที่มีอาร์กิวเมนต์เพียงอย่างเดียวคือประเภทงาน ใบสั่ง คือการเรียงลำดับ
คำสั่ง: ASC, DESC

Description : sorting องค์ประกอบของ s , ใน ASCending หรือ
DESCending ลำดับของค่าที่ส่งคืนโดย สำคัญ ฟังก์ชันเช่น
นำไปใช้กับสมาชิกทุกคนในชุดงาน ดิ s วัตถุถูกแก้ไข
กับการโทรนี้ ส่งคืน SUCCESS หรือ FAIL ขึ้นอยู่กับผลลัพธ์ของ
การเรียงลำดับ

ตัวอย่าง:
ขนาด JobMemReqGet(งาน งาน)
{
ขนาด เมม;

Mem = JobSizeResReqGet(งาน, "เมม");
กลับ(เมม);
}

sched_main()
{
เซิร์ฟเวอร์ ผู้เชี่ยวชาญ;

ชุด การสัมภาษณ์ งาน;

Int ใบสั่ง;

// ได้รับ ในประเทศ เซิร์ฟเวอร์
เจ้านาย = เซิร์ฟเวอร์ทั้งหมดLocalHostGet();

ตำแหน่งงาน = เซิร์ฟเวอร์JobsGet(ผู้เชี่ยวชาญ);
เรียง(งาน, ลำดับความสำคัญของงานรับ, อคส.);
เรียง(งาน, จ๊อบไอด์เก็ต, รายละเอียด);
ใบสั่ง = เอเอสซี;
เรียง(งาน, JobDateTimeCreatedรับ คำสั่ง);
ใบสั่ง = รายละเอียด;
เรียง(งาน, JobMemReqGet, คำสั่ง);
}

Int เรียง(Set นี้ s, สนุก Int สำคัญ, Int การสั่งซื้อ)

Int เรียง(Set นี้ s, สนุก เชือก สำคัญ, Int การสั่งซื้อ)

Int เรียง(Set นี้ s, สนุก ลอย สำคัญ, Int การสั่งซื้อ)

Int เรียง(Set นี้ s, สนุก วันเวลา สำคัญ, Int การสั่งซื้อ)

Int เรียง(Set นี้ s, สนุก ขนาด สำคัญ, Int การสั่งซื้อ)

ที่ไหน s ชุดคิวที่จะเรียงลำดับ สำคัญ คือคีย์การเรียงลำดับซึ่งก็คือ a
ฟังก์ชันที่มีอาร์กิวเมนต์เพียงอย่างเดียวคือประเภท Que ใบสั่ง คือการเรียงลำดับ
คำสั่ง: ASC, DESC

Description : sorting องค์ประกอบของ s , ใน ASCending หรือ
DESCending ลำดับของค่าที่ส่งคืนโดย สำคัญ ฟังก์ชันเช่น
นำไปใช้กับสมาชิกของชุดคิวทุกคน ดิ s วัตถุคือ
แก้ไขด้วยการโทรนี้ ส่งคืน SUCCESS หรือ FAIL ขึ้นอยู่กับ
ผลลัพธ์ของการเรียงลำดับ

ตัวอย่าง:
ขนาด QueMemavailGet(คิว คิว)
{
ขนาด เมม;

Mem = QueSizeResAvailGet(คิว, "เมม");
กลับ(เมม);
}

sched_main()
{
เซิร์ฟเวอร์ ผู้เชี่ยวชาญ;

ชุด นี้ เควส;
Int ใบสั่ง;

// ได้รับ ในประเทศ เซิร์ฟเวอร์
เจ้านาย = เซิร์ฟเวอร์ทั้งหมดLocalHostGet();

ques = คิวเซิร์ฟเวอร์รับ(ผู้เชี่ยวชาญ);
เรียง(เควส, QuePriorityGet, อคส.);
เรียง(เควส, QueNameGet, อคส.);
ใบสั่ง = รายละเอียด;
เรียง(เควส, QueMemavailGet, คำสั่ง);
}

Int เรียง(Set เซิร์ฟเวอร์ s, สนุก Int สำคัญ, Int การสั่งซื้อ)

Int เรียง(Set เซิร์ฟเวอร์ s, สนุก เชือก สำคัญ, Int การสั่งซื้อ)

Int เรียง(Set เซิร์ฟเวอร์ s, สนุก ลอย สำคัญ, Int การสั่งซื้อ)

Int เรียง(Set เซิร์ฟเวอร์ s, สนุก วันเวลา สำคัญ, Int การสั่งซื้อ)

Int เรียง(Set เซิร์ฟเวอร์ s, สนุก ขนาด สำคัญ, Int การสั่งซื้อ)

ที่ไหน s ชุดของเซิร์ฟเวอร์ที่จะเรียงลำดับ สำคัญ เป็นคีย์การเรียงลำดับซึ่งก็คือ
ฟังก์ชันที่มีอาร์กิวเมนต์เพียงอย่างเดียวคือประเภทเซิร์ฟเวอร์ ใบสั่ง คือ
การเรียงลำดับ: ASC, DESC

Description : sorting องค์ประกอบของ s , ใน ASCending หรือ
DESCending ลำดับของค่าที่ส่งคืนโดย สำคัญ ฟังก์ชันเช่น
นำไปใช้กับทุกสมาชิกของชุดของเซิร์ฟเวอร์ ดิ s วัตถุคือ
แก้ไขด้วยการโทรนี้ ส่งคืน SUCCESS หรือ FAIL ขึ้นอยู่กับ
ผลลัพธ์ของการเรียงลำดับ

ตัวอย่าง:
ขนาด ServerMemavailGet(เซิร์ฟเวอร์ เสิร์ฟ)
{
ขนาด เมม;

Mem = ServerSizeResAvailGet(บริการ, "เมม");
กลับ(เมม);
}

sched_main()
{
ชุด เซิร์ฟเวอร์ เซิร์ฟเวอร์;

Int ใบสั่ง;

Int เกษียณ;

เซิร์ฟเวอร์ = ทั้งหมดเซิร์ฟเวอร์Get();

การปฏิเสธ = เรียงลำดับ(เซิร์ฟเวอร์, ServerMaxRunJobsรับ อคส.);
เรียงลำดับ(เซิร์ฟเวอร์, เซิร์ฟเวอร์InetAddrGet, อคส.);

ใบสั่ง = รายละเอียด;
เรียงลำดับ(เซิร์ฟเวอร์, ServerMemavailGet, คำสั่ง);
}

Int เรียง(Set ซีโหนด s, สนุก Int สำคัญ, Int การสั่งซื้อ)

Int เรียง(Set ซีโหนด s, สนุก เชือก สำคัญ, Int การสั่งซื้อ)

Int เรียง(Set ซีโหนด s, สนุก ลอย สำคัญ, Int การสั่งซื้อ)

Int เรียง(Set ซีโหนด s, สนุก วันเวลา สำคัญ, Int การสั่งซื้อ)

Int เรียง(Set ซีโหนด s, สนุก ขนาด สำคัญ, Int การสั่งซื้อ)

ที่ไหน s ชุดของโหนดที่จะเรียงลำดับ สำคัญ คือคีย์การเรียงลำดับซึ่งก็คือ a
ฟังก์ชันที่มีอาร์กิวเมนต์เพียงอย่างเดียวคือประเภท CNode ใบสั่ง คือการเรียงลำดับ
คำสั่ง: ASC, DESC

Description : sorting องค์ประกอบของ s , ใน ASCending หรือ
DESCending ลำดับของค่าที่ส่งคืนโดย สำคัญ ฟังก์ชันเช่น
นำไปใช้กับสมาชิกของชุดโหนดทุกคน ดิ s วัตถุคือ
แก้ไขด้วยการโทรนี้ ส่งคืน SUCCESS หรือ FAIL ขึ้นอยู่กับ
ผลลัพธ์ของการเรียงลำดับ

ตัวอย่าง:
ขนาด CnodeMyMemavailGet(CNode ซีเอ็น)
{
ขนาด เมม;

Mem = CnodeMemavailGet(cn, "เสมือน");
กลับ(เมม);
}

sched_main()
{
ชุด ซีโหนด สโนด;

Int ใบสั่ง;

สโนด = โหนดทั้งหมดรับ ();

เรียง(scnode, CnodeIdletimeGet, อคส.);
เรียง(scnode, CNodeNameGet, อคส.);
ใบสั่ง = รายละเอียด;
เรียง(scnode, CnodeMyMemavailGet, คำสั่ง);
}

CNoe..Get() ฟังก์ชั่น


ค่าส่งคืนของฟังก์ชัน CNode..Get() ที่กล่าวถึงในส่วนก่อนหน้านี้คือ
ได้รับโดยการส่งแบบสอบถามทรัพยากรไปยัง MOM ของ CNode ทุกครั้งที่ทำซ้ำการตั้งเวลา
ตัวอย่างเช่น CnodeLoadAveGet (โหนด) จะคืนค่าที่ได้รับจากบางส่วน
ทรัพยากร> แบบสอบถาม (อาจเป็นสตริง "loadave") ตามที่ส่งไปยัง MOM ของโหนด ดิ
" -> การแมป CNoe..Get()" ถูกสร้างขึ้นภายใน แต่สามารถเป็น
สามารถเพิ่มการแมปที่แก้ไขหรือเพิ่มเติมผ่านไฟล์การกำหนดค่าตัวกำหนดตารางเวลา การกำหนดค่า
ไฟล์ถูกกล่าวถึงใน pbs_sched_basl(8บี).
การแมปที่สร้างไว้แล้วจะได้รับในต่อไปนี้:

สำหรับสถาปัตยกรรมทั้งหมด:

CNoe..Get() ที่เกิดขึ้นจริง โทรศัพท์ เจ้าภาพ ทรัพยากร
======================== =============
CnodeOsGet (โหนด) โค้ง
CnodeLoadAveGet (โหนด) Loadave
CnodeIdletimeGet (โหนด) ว่าง

ใช้ basl2cB ออนไลน์โดยใช้บริการ onworks.net


เซิร์ฟเวอร์และเวิร์กสเตชันฟรี

ดาวน์โหลดแอพ Windows & Linux

คำสั่ง Linux

Ad