diff --git a/src/rusage.c b/src/rusage.c
index e206f95a264835b4e79bc8a52c368ec17dbbc168..5784cd67f1b550b3e79cf4d973bbd53d359e8526 100644
--- a/src/rusage.c
+++ b/src/rusage.c
@@ -53,6 +53,8 @@ INT32 *low_rusage(void)
     if(errno != EINTR) return 0;
   }
 
+  set_close_on_exec(proc_fd, 1);
+
   while(ioctl(proc_fd, PIOCUSAGE, &pru) < 0)
   {
     if(errno == EINTR)