Implemented by the Process Manager component of procnto, the /proc virtual filesystem lets you access and control every process and thread running within the system.
The /proc filesystem manifests each process currently running on the system as a directory whose name is the numerical process ID (in decimal) of the process. Inside this directory, you'll find the following files:
# pidin -p 28687 arg
      pid Arguments
    28687 io-pkt-v6-hc -dsmsc9500 mac=96a414016206
# echo `cat /proc/28687/cmdline`
io-pkt-v6-hc-dsmsc9500mac=96a414016206
  
# echo `cat /proc/28687/exefile` /sbin/io-pkt-v6-hc
Threads are accessible through the as file created for the process; you can select a thread via devctl() calls. You can use the following standard functions to access the /proc filesystem:
| Function | Purpose | 
|---|---|
| open() | Establish a file descriptor to a process | 
| read() | Read data from the process's address space | 
| write() | Write data to the process's address space | 
| stat() | Return struct stat information | 
| lseek() | Establish a position within the process's address space for further operations | 
| devctl() | Manipulate a process or thread | 
| close() | Release a file descriptor | 
Ancillary functions (such as readdir(), opendir(), and so on) are supported on the directory /proc itself—this aids in implementing commands such as ls.