Skip to main content

Execl - Perintah Linux - Perintah Unix

Perintah cat di Terminal Ubuntu (Juni 2026)

Perintah cat di Terminal Ubuntu (Juni 2026)
Anonim

Nama: execl, execlp, execle, execv, execvp - jalankan file

Ringkasan

#include extern char ** environ; int execl (const char * path, const char * arg, …);int execlp (file const char *, const char * arg, …);int execle (const char * path, const char * arg, …, char * const envp );int execv (const char * path, char * const argv );int execvp (file const char *, char * const argv );

Deskripsi

Ituexec keluarga fungsi menggantikan gambar proses saat ini dengan gambar proses baru. Fungsi yang dijelaskan dalam halaman buku panduan ini adalah ujung depan untuk fungsimengeksekusi(2). Argumen awal untuk fungsi-fungsi ini adalah pathname dari file yang akan dieksekusi.

Itu const char * arg dan elips berikutnya dalamexecl, execlp, daneksekusifungsi dapat dianggap sebagai arg0 , arg1 , …, argn . Bersama-sama mereka mendeskripsikan daftar satu atau lebih pointer ke string yang diakhiri null yang mewakili daftar argumen yang tersedia untuk program yang dijalankan. Argumen pertama, berdasarkan konvensi, harus menunjuk ke nama file yang terkait dengan file yang sedang dieksekusi. Daftar argumen harus diakhiri olehBATAL penunjuk.

Ituexecv danexecvp fungsi menyediakan array pointer ke string yang 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 sedang dieksekusi. Array pointer harus diakhiri oleh aBATAL penunjuk.

Itueksekusi fungsi juga menentukan lingkungan dari proses yang dijalankan dengan mengikutiBATAL pointer yang mengakhiri daftar argumen dalam daftar parameter atau pointer ke array argv dengan parameter tambahan. Parameter tambahan ini adalah array pointer ke string yang diakhiri null dan harus diakhiri olehBATAL penunjuk. Fungsi lainnya mengambil lingkungan untuk citra proses baru dari variabel eksternal mengepung dalam proses saat ini.

Beberapa fungsi ini memiliki semantik khusus.

Fungsi-fungsiexeclp danexecvp akan menduplikasi tindakan shell dalam mencari file yang dapat dieksekusi jika nama file yang ditentukan tidak mengandung karakter slash (/). Jalur pencarian adalah jalur yang ditentukan di 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 file (dicobamengeksekusi dikembalikanEACCES), fungsi-fungsi ini akan terus mencari sisa jalur pencarian. Jika tidak ada file lain yang ditemukan, mereka akan kembali dengan variabel global errno 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 yang dilakukan.)

Nilai Pengembalian

Jika adaexec fungsi kembali, kesalahan akan terjadi. Nilai kembalian adalah -1, dan variabel global errno akan diatur untuk menunjukkan kesalahan.