<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Process Management on Nalar</title>
    <link>https://nalar.dev/tags/process-management/</link>
    <description>Recent content in Process Management on Nalar</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 18 Sep 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://nalar.dev/tags/process-management/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>close_range Controls Descriptor Inheritance Across exec Boundaries</title>
      <link>https://nalar.dev/close-range-controls-descriptor-inheritance-across-exec-boundaries/</link>
      <pubDate>Fri, 18 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/close-range-controls-descriptor-inheritance-across-exec-boundaries/</guid>
      <description>&lt;p&gt;A process preparing to call &lt;code&gt;execve()&lt;/code&gt; may have hundreds or thousands of open file descriptors, while the new program should inherit only a small selected set. Closing descriptors one by one creates both bookkeeping cost and a concurrency problem: another thread can allocate a descriptor while the cleanup loop is still running.&lt;/p&gt;&#xA;&lt;p&gt;Linux &lt;code&gt;close_range()&lt;/code&gt; moves that operation to the descriptor-table boundary. A caller specifies an inclusive numeric range and asks the kernel either to close descriptors in that range or mark them close-on-exec. With &lt;code&gt;CLOSE_RANGE_UNSHARE&lt;/code&gt;, the caller can first detach its descriptor table from threads or processes that share it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux close_range Makes Descriptor-Table Cleanup a Range Operation</title>
      <link>https://nalar.dev/linux-close-range-makes-descriptor-table-cleanup-a-range-operation/</link>
      <pubDate>Fri, 18 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/linux-close-range-makes-descriptor-table-cleanup-a-range-operation/</guid>
      <description>&lt;p&gt;A process preparing to execute another program often needs a simple descriptor invariant: standard input, output, and error remain available, while unrelated descriptors do not cross the execution boundary. Closing descriptors one at a time can turn that invariant into an enumeration problem. Linux &lt;code&gt;close_range()&lt;/code&gt; instead applies an operation to an inclusive numeric interval in the calling task&amp;rsquo;s file-descriptor table.&lt;/p&gt;&#xA;&lt;p&gt;The interface is small, but its semantics reach into descriptor-table sharing, &lt;code&gt;execve()&lt;/code&gt; inheritance, concurrent descriptor allocation, and privilege transitions. The flags select more than implementation strategy: they determine whether descriptors disappear immediately, become close-on-exec, or are first separated from a table shared with other tasks.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
