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