PhầN MềM

Lệnh Linux / Unix 'execvp'

Tác Giả: Robert Simon
Ngày Sáng TạO: 22 Tháng Sáu 2021
CậP NhậT Ngày Tháng: 12 Có Thể 2024
Anonim
EECS 338 - using execvp
Băng Hình: EECS 338 - using execvp

NộI Dung

Cácthực hiện họ các chức năng thay thế hình ảnh quá trình hiện tại bằng một hình ảnh quá trình mới. Các chức năng được mô tả ở đây là giao diện người dùng cho chức nănghành quyết(2). 

Đối số ban đầu cho các hàm này là tên đường dẫn của tệp sẽ được thực thi.

Cácconst char * arg và các hình elip tiếp theo trongthực hiệnthực hiệnthực thi chức năng có thể được coi làarg0arg1, ..., argn. Họ cùng nhau mô tả một danh sách một hoặc nhiều con trỏ tới các chuỗi kết thúc null đại diện cho danh sách đối số có sẵn cho chương trình được thực hiện. Đối số đầu tiên, theo quy ước, nên trỏ đến tên tệp được liên kết với tệp đang được thực thi. Danh sách các đối sốphải bị chấm dứt bởi mộtVÔ GIÁ TRỊ con trỏ.


Cácthực hiệnthực hiện các hàm cung cấp một mảng các con trỏ tới các chuỗi kết thúc null thể hiện danh sách đối số có sẵn cho chương trình mới. Đối số đầu tiên, theo quy ước, nên trỏ đến tên tệp được liên kết với tệp đang được thực thi. Mảng con trỏphải bị chấm dứt bởi mộtVÔ GIÁ TRỊ con trỏ.

Cácthực thi Hàm cũng chỉ định môi trường của quá trình được thực hiện bằng cách làm theoVÔ GIÁ TRỊcon trỏ chấm dứt danh sách các đối số trong danh sách tham số hoặc con trỏ tới mảng argv với một tham số bổ sung. Tham số bổ sung này là một mảng các con trỏ tới các chuỗi kết thúc null vàphải bị chấm dứt bởi mộtVÔ GIÁ TRỊ con trỏ. Các hàm khác lấy môi trường cho ảnh quá trình mới từ biến ngoàimôi trường trong quá trình hiện tại.

Một số chức năng này có ngữ nghĩa đặc biệt.

Chức năngthực hiệnthực hiện sẽ nhân đôi các hành động của shell khi tìm kiếm tệp thực thi nếu tên tệp được chỉ định không chứa ký tự gạch chéo (/). Đường dẫn tìm kiếm là đường dẫn được chỉ định trong môi trường bởiCON ĐƯỜNG Biến đổi. Nếu biến này không được chỉ định, đường dẫn mặc định ``: / bin: / usr / bin '' được sử dụng. Ngoài ra, một số lỗi được xử lý đặc biệt.


Nếu sự cho phép bị từ chối cho một tập tin (đã cố gắnghành quyết trả lạiEACCES), các chức năng này sẽ tiếp tục tìm kiếm phần còn lại của đường dẫn tìm kiếm. Tuy nhiên, nếu không tìm thấy tệp nào khác, chúng sẽ trả về với biến toàn cụcsai đặt thànhEACCES.

Nếu tiêu đề của tệp không được nhận dạng (đã thửhành quyết trả lạiENOEXEC), các hàm này sẽ thực thi shell với đường dẫn của tệp làm đối số đầu tiên của nó. (Nếu lần thử này thất bại, không có tìm kiếm nào được thực hiện nữa.)

Giá trị trả lại

Nếu bất kỳthực hiện Hàm trả về, một lỗi sẽ xảy ra. Giá trị trả về là -1 và biến toàn cụcsai sẽ được thiết lập để chỉ ra lỗi.

Sử dụngĐàn ông chỉ huy (% Đàn ông) để xem cách sử dụng lệnh trên máy tính cụ thể của bạn.

Tên

execl, execlp, execle, execv, execvp - thực thi một tập tin


Tóm tắc

#incolee

char bên ngoài ** môi trường;

int execl (const char *con đường, const char *tranh luận, ...); int execlp (const char *tập tin, const char *tranh luận, ...); int execle (const char *con đường, const char *tranh luận , ..., char * constenvp[]); int execv (const char *con đường, char * constargv[]); int execvp (const char *tập tin, char * constargv[]);  

Thú Vị Trên Trang Web

Bài ViếT Cho BạN

Mã trạng thái HTTP
Internet

Mã trạng thái HTTP

Mã trạng thái HTTP là mã phản hồi tiêu chuẩn được cung cấp bởi các máy chủ trang web trên internet. Các mã giúp xác định nguyên nh...
Thoát khỏi Couch và nhảy dây một cách chân thực với Nintendo Switch của bạn
Internet

Thoát khỏi Couch và nhảy dây một cách chân thực với Nintendo Switch của bạn

Nó có lẽ là một ý tưởng tốt để thêm một chút tập thể dục để chiến đấu với những pound thêm cảm hứng kiểm dịch. Trò chơi witch miễn phí Nintendo có th...