(module test-mem mzscheme<br>&nbsp; (require (lib &quot;process.ss&quot;))<br>&nbsp; (define null-port (open-output-file &quot;/dev/null&quot; &#39;append))<br>&nbsp; (define null-iport (open-input-file &quot;/dev/null&quot;))<br>&nbsp; (define std-oport (current-output-port))
<br>&nbsp; <br>&nbsp; (define (x) (let-values ([(r w) (make-pipe)])<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (process/ports&nbsp;w null-iport null-port &quot;/sbin/sysctl -a&quot;)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (process/ports&nbsp;std-oport r&nbsp; null-port &quot;grep vm.min_free_kbytes
&quot;)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ))<br>&nbsp; (define (y) (process/ports std-oport null-iport null-port &quot;/sbin/sysctl -a| grep vm.min_free.kbytes&quot;))<br>&nbsp; (define (z)<br>&nbsp;&nbsp;&nbsp; (let-values ([(r w) (make-pipe)])<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (process/ports&nbsp;w null-iport null-port &quot;/sbin/sysctl -a&quot;)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (let loop ()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (let ([v (read-line r)])<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (if (eof-object? r)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (void)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (fprintf std-oport &quot;~a~n&quot; v)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (loop))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )))))<br>&nbsp; )<br><br>------------------------------------<br><br>Welcome to DrScheme, version 371.3-svn7nov2007 [3m].<br>Language: (module ...).<br>&gt; (x)<br>(#f #f 11744 #f #&lt;procedure:control&gt;)<br>&gt; (y)
<br>(#f #f 11745 #f #&lt;procedure:control&gt;)<br>vm.min_free_kbytes = 5858<br><br>1.why (x) and (y) is different?<br>2. why (z) could not terminate?<br><br clear="all">Thanks<br>-- <br>Gang