Perangkat Lunak

Linux / Unix Command 'execvp'

Pengarang: Robert Simon
Tanggal Pembuatan: 22 Juni 2021
Tanggal Pembaruan: 12 Boleh 2024
Anonim
EECS 338 - using execvp
Video: EECS 338 - using execvp

Isi

Itueksekutif keluarga fungsi menggantikan gambar proses saat ini dengan gambar proses baru. Fungsi yang dijelaskan di sini adalah ujung depan untuk fungsi tersebutmengeksekusi(2). 

Argumen awal untuk fungsi-fungsi ini adalah pathname dari file yang akan dieksekusi.

Ituconst char * arg dan elips selanjutnya dalameksekutifexeclp, danmelaksanakan fungsi dapat dianggap sebagaiarg0arg1, ..., argn. Bersama-sama mereka menggambarkan daftar satu atau lebih pointer ke string null yang diakhiri yang mewakili daftar argumen yang tersedia untuk program yang dieksekusi. Argumen pertama, berdasarkan konvensi, harus menunjuk ke nama file yang terkait dengan file yang dieksekusi. Daftar argumenharus diberhentikan oleh aBATAL penunjuk.


Ituexecv danexecvp fungsi menyediakan array pointer ke string diakhiri null yang mewakili daftar argumen yang tersedia untuk program baru. Argumen pertama, berdasarkan konvensi, harus menunjuk ke nama file yang terkait dengan file yang dieksekusi. Array pointerharus diberhentikan oleh aBATAL penunjuk.

Itumelaksanakan fungsi juga menentukan lingkungan dari proses yang dieksekusi dengan mengikutiBATALpointer yang mengakhiri daftar argumen dalam daftar parameter atau pointer ke array argv dengan parameter tambahan. Parameter tambahan ini adalah array pointer ke string dan null yang diakhiriharus diberhentikan oleh aBATAL penunjuk. Fungsi lain mengambil lingkungan untuk gambar proses baru dari variabel eksternalmengepung dalam proses saat ini.

Beberapa fungsi ini memiliki semantik khusus.

Fungsinyaexeclp danexecvp akan menduplikasi tindakan shell dalam mencari file yang dapat dieksekusi jika nama file yang ditentukan tidak mengandung karakter garis miring (/). Jalur pencarian adalah jalur yang ditentukan dalam lingkungan olehPATH variabel. Jika variabel ini tidak ditentukan, jalur default ``: / bin: / usr / bin '' digunakan. Selain itu, kesalahan tertentu diperlakukan secara khusus.


Jika izin ditolak untuk suatu file (percobaan)mengeksekusi dikembalikanEACCES), fungsi-fungsi ini akan terus mencari sisa jalur pencarian. Namun, jika tidak ada file lain yang ditemukan, mereka akan kembali dengan variabel globalerrno mulaiEACCES.

Jika header file tidak dikenali (dicobamengeksekusi dikembalikanENOEXEC), fungsi-fungsi ini akan mengeksekusi shell dengan path file sebagai argumen pertama. (Jika upaya ini gagal, tidak ada pencarian lebih lanjut.)

Nilai Pengembalian

Jika adaeksekutif fungsi kembali, kesalahan akan terjadi. Nilai kembali adalah -1, dan variabel globalerrno akan diatur untuk menunjukkan kesalahan.

Menggunakanpria perintah (% pria) untuk melihat bagaimana suatu perintah digunakan pada komputer Anda.

Nama

execl, execlp, execle, execv, execvp - mengeksekusi file


Ringkasan

#termasuk

extern char ** environment;

int execl (const char *jalan, const char *arg, ...); int execlp (const char *mengajukan, const char *arg, ...); int execle (const char *jalan, const char *arg , ..., char * constenvp[]); int execv (const char *jalan, char * constargv[]); int execvp (const char *mengajukan, char * constargv[]);  

Populer Di Portal

Kami Merekomendasikan Anda

Cara Memperbaiki Kesalahan PS4 'Tidak Dapat Terhubung ke Jaringan Wi-Fi'
Judi

Cara Memperbaiki Kesalahan PS4 'Tidak Dapat Terhubung ke Jaringan Wi-Fi'

Ada beberapa hal yang lebih buruk daripada menghadapi maalah konektivita ketika Anda menjalankan Playtation 4 Anda untuk memainkan beberapa pertandingan game online eperti Fortnite atau Overwatch. al...
Panduan Pemula untuk BASH - Kondisi dan Variabel
Perangkat Lunak

Panduan Pemula untuk BASH - Kondisi dan Variabel

elamat datang di bagian ketiga dari "Beginner Guide To BAH". Jika Anda telah melewatkan dua artikel ebelumnya maka Anda mungkin ingin tahu apa yang membuat panduan ini berbeda dari panduan ...