Skip to main content

Execl - คำสั่ง Linux - คำสั่ง Unix

เรียนรู้คำสั่ง Command DOS (Path 1) (เมษายน 2025)

เรียนรู้คำสั่ง Command DOS (Path 1) (เมษายน 2025)
Anonim

ชื่อ: execl, execlp, execle, execv, execvp - รันไฟล์

สรุป

#include extern ถ่าน ** สิ่งแวดล้อม int execl (const char * เส้นทาง const char * arg, … );int execlp (ไฟล์ const char *, const char * arg, … );int execle (const char * เส้นทาง const char * arg, … , char * const envp );int execv (const char * เส้นทาง char * const argv );int execvp (ไฟล์ const char *, char * const argv );

ลักษณะ

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

const char * arg และวงกลมที่ตามมาในexecl, execlp, และexecleฟังก์ชั่นสามารถถูกคิดว่าเป็น arg0 , arg1 , …, argn . พวกเขาร่วมกันอธิบายรายการหนึ่งหรือมากกว่าหนึ่งตัวชี้ไปยังสตริงที่สิ้นสุดด้วยโมฆะซึ่งเป็นตัวแทนของรายการอาร์กิวเมนต์ที่พร้อมใช้งานสำหรับโปรแกรมที่ดำเนินการ อาร์กิวเมนต์แรกโดยการประชุมควรชี้ไปที่ชื่อไฟล์ที่เชื่อมโยงกับไฟล์ที่กำลังดำเนินการ รายการอาร์กิวเมนต์ ต้อง ถูกยกเลิกโดย aโมฆะ ตัวชี้

execv และexecvp ฟังก์ชันให้อาร์เรย์ของตัวชี้ไปยังสตริงที่สิ้นสุดด้วยค่า null ที่แสดงรายการอาร์กิวเมนต์ที่พร้อมใช้งานสำหรับโปรแกรมใหม่ อาร์กิวเมนต์แรกโดยการประชุมควรชี้ไปที่ชื่อไฟล์ที่เชื่อมโยงกับไฟล์ที่กำลังดำเนินการ อาร์เรย์ของคำแนะนำต้องถูกยกเลิกโดย aโมฆะ ตัวชี้

execle นอกจากนี้ยังระบุสภาพแวดล้อมของกระบวนการที่ดำเนินการโดยทำตามขั้นตอนต่อไปนี้โมฆะ ตัวชี้ที่จะยุติรายการอาร์กิวเมนต์ในรายการพารามิเตอร์หรือตัวชี้ไปยังอาร์เรย์ argv ด้วยพารามิเตอร์เพิ่มเติม พารามิเตอร์เพิ่มเติมนี้คืออาร์เรย์ของตัวชี้ไปยังสตริงที่สิ้นสุดด้วย null และ ต้อง ถูกยกเลิกโดย aโมฆะ ตัวชี้ ฟังก์ชันอื่น ๆ ใช้สภาพแวดล้อมสำหรับภาพกระบวนการใหม่จากตัวแปรภายนอก สภาพแวดล้อม ในกระบวนการปัจจุบัน

บางส่วนของฟังก์ชันเหล่านี้มีความหมายพิเศษ

ฟังก์ชั่นexeclp และexecvp จะทำซ้ำการกระทำของเชลล์ในการค้นหาไฟล์ที่ปฏิบัติการได้หากชื่อไฟล์ที่ระบุไม่ประกอบด้วยเครื่องหมายทับ (/) พา ธ การค้นหาคือพา ธ ที่ระบุในสภาวะแวดล้อมโดยเส้นทาง ตัวแปร. หากไม่ได้ระบุตัวแปรนี้จะใช้เส้นทางเริ่มต้น ``: / bin: / usr / bin '' นอกจากนี้ข้อผิดพลาดบางอย่างยังถือว่าเป็นพิเศษ

ถ้าการอนุญาตถูกปฏิเสธสำหรับไฟล์ (พยายามexecve กลับEACCES) ฟังก์ชันเหล่านี้จะค้นหาส่วนที่เหลือของเส้นทางการค้นหาต่อไป หากไม่มีไฟล์อื่นค้นพบก็จะกลับมาพร้อมกับตัวแปรส่วนกลาง errno ตั้งค่าให้EACCES.

หากไม่รู้จักส่วนหัวของไฟล์ (พยายามexecve กลับENOEXEC) ฟังก์ชันเหล่านี้จะรันเชลล์ด้วยเส้นทางของไฟล์เป็นอาร์กิวเมนต์แรก (ถ้าความพยายามนี้ล้มเหลวไม่มีการค้นหาเพิ่มเติม)

มูลค่าย้อนกลับ

ถ้ามีexec ฟังก์ชันส่งกลับข้อผิดพลาดจะเกิดขึ้น ค่าที่ส่งกลับคือ -1 และตัวแปรส่วนกลาง errno จะถูกตั้งค่าเพื่อระบุข้อผิดพลาด