Fungsi execl() bisa digunakan untuk menjalankan dan menghentikan sebuah proses. Fungsi ini berada dalam pustaka unistd.h. Bentuk umum fungsi ini adalah :
execl(char *path, char *arg0,…,char *argn, 0);
Dimana :
- path adalah path dari sistem UNIX [baca FreeBSD] dari perintah yang akan diberikan.
- arg0 adalah string yang mengacu pada path
- arg1 sampai argn adalah argumen perintahnya
- 0 adalah NULL terminator yang merupakan argumen yang bertugas memberitahukan kepada sistem C Programming bahwa tak ada lagi argumen yang di-list
- Penggunaan * pada path dan argumen menandakan bahwa string yang diinputkan pada fungsi ini ditampung dalam pointer
- Low level fungsi ini pernah kita bahas DI SINI
Berikut adalah contoh aplikasi fungsi execl() untuk menampilkan semua isi direktori aktif dalam format panjang :
$edit test_execl.c
#include <stdio.h>
#include <unistd.h>
main()
{ printf("Files in Directory are:\n");
execl("/bin/ls","ls", "-la",0);
}
Pada contoh di atas : /bin/ls adalah path, ls adalah arg0 dan 0 adalah Null terminator.
$ gcc -o test_execl test_execl.c
$ ./test_execl
Files in Directory are:
total 92
drwxr-xr-x 4 handaru 1001 1024 Jan 22 22:22 .
drwxr-xr-x 5 root wheel 512 Dec 26 13:34 ..
-rw——- 1 handaru 1001 0 Nov 12 13:49 .Xauthority
-rw-r–r– 1 handaru 1001 767 Aug 29 13:42 .cshrc
-rw-r–r– 1 handaru 1001 248 Aug 29 13:42 .login
-rw-r–r– 1 handaru 1001 158 Aug 29 13:42 .login_conf
-rw——- 1 handaru 1001 373 Aug 29 13:42 .mail_aliases
-rw-r–r– 1 handaru 1001 331 Aug 29 13:42 .mailrc
drwxr-xr-x 2 handaru 1001 512 Dec 20 15:45 .mc
drwxr-xr-x 2 handaru 1001 512 Dec 27 13:00 .pgp
-rw-r–r– 1 handaru 1001 797 Aug 29 13:42 .profile
-rw——- 1 handaru 1001 276 Aug 29 13:42 .rhosts
-rw-r–r– 1 handaru 1001 975 Aug 29 13:42 .shrc
-rw-r–r– 1 handaru 1001 14 Jan 6 22:34 coba
-rwxr-xr-x 1 root 1001 4917 Jan 9 21:32 cobaread
-rw-r–r– 1 root 1001 343 Jan 9 21:32 cobaread.c
-rwxr-xr-x 1 handaru 1001 4734 Aug 29 14:49 hello
-rw-r–r– 1 handaru 1001 58 Aug 29 14:49 hello.c
-rw-r–r– 1 root 1001 154 Dec 19 15:21 killerror.txt
-rw-r–r– 1 root 1001 154 Dec 19 15:27 killerror2.txt
-rw-r–r– 1 root 1001 166 Dec 20 12:43 psaxgrepsendmail.txt
-rw-r–r– 1 root 1001 166 Dec 20 12:28 psaxgrepsenmail.txt
-rw-r–r– 1 root 1001 2991 Dec 20 12:27 psaxoutput.txt
-rw-r–r– 1 root 1001 5 Dec 18 15:42 psin.txt
-rw-r–r– 1 root 1001 2974 Dec 18 15:44 psoutput.txt
-rw-r–r– 1 root 1001 70 Dec 18 15:13 psoutput1.txt
-rw-r–r– 1 root 1001 2974 Dec 20 12:24 pssort.txt
-rwxr-xr-x 1 root 1001 4890 Jan 20 22:39 sistem
-rw-r–r– 1 root 1001 159 Jan 20 22:30 sistem.c
-rwxr-xr-x 1 root 1001 4915 Jan 20 23:00 sistem2
-rw-r–r– 1 root 1001 180 Jan 20 23:00 sistem2.c
-rw-r–r– 1 handaru 1001 40 Jan 16 09:04 so.txt
-rwxr-xr-x 1 handaru 1001 4865 Jan 22 22:22 test_execl
-rw-r–r– 1 handaru 1001 123 Jan 22 22:21 test_execl.c
$
FreeBSD…jelas, jelas dan jelas.
Dedicated for Light Intermutimedia
Perusahaan Software Pulsa