Tuesday, February 7, 2017

Man Fork


Jadi tidak ada kasus khusus dari postingan ini, hanya berusaha membuang kata-kata saja. Seperti yang terlihat pada gambar, di sana ada tulisan manual dari sebuah system call untuk menangani proses yaitu fork().

Fungsi fork() memiliki return value yang bisa digunakan sebagai penanda apakah proses CHILD atau PARRENT. 

Berikut contoh program untuk menggambarkan bagaimana fork() menghasilkan 2 buah output dari "satu kali" pemanggilan (yang terlihat pada source) :

 
Source code in perl

 
 Hasil eksekusi

Dari source dan hasil eksekusi seperti pada gambar, maka memang benar proses membelah menjadi 2 seperti yang tertulis pada manual page. Dan ingat fungsi fork() akan memiliki return value 0 ketika dieksekusi oleh CHILD.

Kemudian mari kita modifikasi program menjadi seperti berikut :

Source code setelah modifikasi

 Hasil eksekusi ke 2

Hal ini mengingatkan tentang multi thread, tapi ini adalah dua hal yang berbeda. Selama tidak ada yang dirugikan, tidak mengapa seperti apapun hasil kreasi. 

~~~~ Tapi jika aku membuat rugi, maka haruslah kubayar kerugian itu. Atau haruskah aku tunjukkan kesedihan yang kualami untuk menenangkanmu.
 

No comments:

Post a Comment