1. 7

  2. 3

    I did something along this area in Mono to fix it for FreeBSD/NetBSD; finding out quite a bit about this sort of area in various Unices. One thing you realize is this stuff came very late, and as such, the implementations are highly divergent. AIX and Solaris have a System V style procfs, but Solaris implements things different from AIX, for example, like adding a /proc/pid/execpath for scenarios like this. Before these “stable” APIs, you usually had to grab the symbol for the process table in kernel memory and read to it - this process is obviously unstable between versions and required root. (Many other Unix APIs were like this until the 90s too.)