> begini mo ... nanya ttg fungsi fork()
Apakah sudah baca manual fork? Dari pertanyaannya, sptnya belum mengerti
"tugas" dari fork() ini.
> misalnya dibuat program :
> main()
> {
> int i;
>
> for (i=1; i<1000; i++)
> {
> printf ("no %d\n",i)
> fork();
> }
> }
> keanehan yang muncul nilai i berubah2 ngga sesuai urutan ... apakah itu
> karena fungsi fork().
fork akan membuat child process yg persis sama dengan process induknya.
Awalnya, ada 1 process, i=1, dan mencetak "no 1".
Kemudian, ada 2 process, i=2, dan mencetak "no 2".
Kemudian, ada 4 process, i=3, dan mencetak "no 3".
dst.
Masalahnya, krn semua process berusaha print ke layar, dan urutan kerja tiap
process tidak bisa ditentukan, makan urutan tampilan di layar juga jadi ngga
bisa ditentukan. Bisa saja "no 3" pertama keluar lebih dahulu daripada "no
2" kedua.
> kemudian .. hasil dari program ini tentunya bikin child proses yang ngga
> terkendali :) dan kemudian menjadi salah satu dOs program ... alias bikin
> mati services yang ada di server....nah...apakah hal ini bisa dicegah....
Rasanya sudah pernah di bahas. Silahkan lihat arsip.
- irving
--------------------------------------------------------------------------------
Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]