'\" te .\" Copyright (c) 2012, Joyent, Inc. .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License. .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner] .TH LXPROC 4FS "April 25, 2012" .SH NAME lxproc \- a loosely Linux-compatible /proc .SH SYNOPSIS .LP .nf \fB\fR\fBmount\fR (\fB\fR\fI"lxproc"\fR, \fB\fR\fIdirectory\fR, \fB\fR\fIMS_DATA\fR, \fB\fR\fI"lxproc"\fR, \fB\fR\fINULL\fR, \fB\fR\fI0\fR); .fi .SH DESCRIPTION .sp .LP \fBlxproc\fR is an implementation of the \fB/proc\fR filesystem that loosely matches the Linux semantics of providing human-readable text files that correspond to elements of the system. As with both \fBproc\fR(5) and Linux \fB/proc\fR, \fBlxproc\fR makes available a directory for every process, with each directory containing a number of files; like Linux \fB/proc\fR but unlike \fBproc\fR(5), \fBlxproc\fR also makes available a number of files related to system-wide information. To ascertain the meaning and structure of the files provided via \fBlxproc\fR, users should consult the Linux documentation. .sp .LP The \fBlxproc\fR compatibility layer is provided only as a best-effort for simple Linux \fB/proc\fR readers; it is not intended to exactly mimic Linux semantics and nor does it attempt to somehow fool a consumer into believing that it is operating within a Linux environment. As such, \fBlxproc\fR should only be used by Linux-specific programs that are willing to trade precision in understanding the system in return for Linux compatibility. To programmatically understand the system precisely and in terms of its native constructs, one should not use \fBlxproc\fR, but rather \fBproc\fR(5) or \fBkstat\fR(3KSTAT). To understand a process or group of processes from either a shell script or the command line, one should not use \fBlxproc\fR, but rather \fBproc\fR(5)-based tools like \fBprstat\fR(8), \fBpfiles\fR(1), \fBpargs\fR(1), \fBpmap\fR(1), \fBptree\fR(1), \fBplimit\fR(1), \fBpflags\fR(1), \fBpcred\fR(1), \fBpstack\fR(1), \fBpldd\fR(1), \fBpsig\fR(1), or \fBpwdx\fR(1). To understand system-wide constructs from either a shell script or the command line, one should not use \fBlxproc\fR, but rather \fBkstat\fR(3KSTAT)-based tools like \fBkstat\fR(8), \fBmpstat\fR(8), \fBiostat\fR(8), \fBnetstat\fR(8) or \fBpsrinfo\fR(8). .sp .LP Like \fB/proc\fR, \fBlxproc\fR can be mounted on any mount point, but the preferred mount point is \fB/system/lxproc\fR; if a zone brand elects to mount it by default, this will (or should) generally be the mount point. .sp .LP \fBlxproc\fR can be mounted with the command: .sp .in +2 .nf \fBmount \fR\fB-F\fR\fB lxproc lxproc \fR\fIdirectory\fR .fi .in -2 .SH SEE ALSO .sp .LP \fBdf\fR(8), \fBiostat\fR(8), \fBkstat\fR(8), \fBmpstat\fR(8), \fBmount\fR(8), \fBnetstat\fR(8), \fBpargs\fR(1), \fBpcred\fR(1), \fBpfiles\fR(1), \fBpflags\fR(1), \fBpldd\fR(1), \fBplimit\fR(1), \fBpmap\fR(1), \fBprstat\fR(8), \fBpsig\fR(1), \fBpsrinfo\fR(8), \fBpstack\fR(1), \fBptree\fR(1), \fBpwdx\fR(1), \fBmount\fR(2), \fBumount\fR(2), \fBkstat\fR(3KSTAT), \fBproc\fR(5), \fBkstat\fR(9S) .SH NOTES .sp .LP When choosing between offering Linux compatibility and telling the truth, \fBlxproc\fR emphatically picks the truth. A particular glaring example of this is the Linux notion of "tasks" (that is, threads), which -- due to historical misadventures on Linux -- allocate their identifiers from the process identifier space. (That is, each thread has in effect a pid.) Some Linux \fB/proc\fR readers have come to depend on this attribute, and become confused when threads appear with proper identifiers, so \fBlxproc\fR simply opts for the pre-2.6 behavior, and does not present the tasks directory at all.