Skip to main content

ทั้งหมดเกี่ยวกับคำสั่ง Linux / Unix: execvp

How To Fix airodump-ng Error With wlan0mon Kali 2.0 (เมษายน 2025)

How To Fix airodump-ng Error With wlan0mon Kali 2.0 (เมษายน 2025)
Anonim

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 จะถูกตั้งค่าเพื่อระบุข้อผิดพลาด

สำคัญ: ใช้ ชาย คำสั่ง ( % ชาย ) เพื่อดูว่ามีการใช้คำสั่งใดในคอมพิวเตอร์เครื่องใดเครื่องหนึ่งของคุณ

ชื่อ

execl, execlp, execle, execv, execvp - รันไฟล์

สรุป

#include

extern ถ่าน ** สิ่งแวดล้อม;

int execl (const char * เส้นทาง , const char * หาเรื่อง , … ); int execlp (const char * ไฟล์ , const char * หาเรื่อง , … ); int execle (const char * เส้นทาง , const char * หาเรื่อง , … , char * const envp ); int execv (const char * เส้นทาง , char * const argv ); int execvp (const char * ไฟล์ , char * const argv );