Rev | Author | # | Line |
---|---|---|---|
4 | AristotlePagaltzis | 1 | Under [Linux], there is a special FileSystem mounted under /proc that gives access to the [Linux] [Kernel] settings and information. |
1 | JohnMcPherson | 2 | |
3 | Some of the information you can find includes: | ||
4 | |||
4 | AristotlePagaltzis | 5 | * a subdirectory for each current process. You can find things like the command line, the environment, memory and file usage. There is a special directory called "self" that refers to whichever process accesses it. For example, you can do __less /proc/self/status__ to find out about the less process, or you can do __cd /proc/self ; less status__ to find out about your shell process. |
6 | * __/proc/cpuinfo__ gives information about the detected [CPU](s), including manufacturer, id, known bugs, and extensions. | ||
7 | * [FileSystem]s and peripherals. For example, when you attach a [USB] device such as a DigitalCamera, your programs communicate with the device through a file with a name like __/proc/bus/usb/001/003__. | ||
5 | PerryLorier | 8 | * sysctl's are available via /proc/sys/ |
1 | JohnMcPherson | 9 | * network devices and status. |
10 | |||
4 | AristotlePagaltzis | 11 | Also, the SuperUser can change some [Kernel] settings by writing to particular files. For example, to allow your [Linux] machine to act as a router by forwarding packets from other machines, it is necessary (but usually already automated) to do __echo 1 > /proc/sys/net/ipv4/ip_forward__. |
1 | JohnMcPherson | 12 | |
4 | AristotlePagaltzis | 13 | Writing programs that get information from __/proc__ is a good way to make them non-[Port]able to other [Unix](-like) systems. |
1 | JohnMcPherson | 14 | |
4 | AristotlePagaltzis | 15 | See also: |
16 | * ProcessNotes | ||
17 | * procinfo(8) | ||
18 | * proc(5) |
lib/blame.php:177: Warning: Invalid argument supplied for foreach()