Print this page
OS-3820 lxbrand ptrace(2): the next generation
OS-3685 lxbrand PTRACE_O_TRACEFORK race condition
OS-3834 lxbrand 64-bit strace(1) reports 64-bit process as using x32 ABI
OS-3794 lxbrand panic on init signal death
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Bryan Cantrill <bryan@joyent.com>
OS-3463 expose process argv through procfs
OS-3207 in lx zone, 'ps auxww' does not show full cmdline for processes
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
OS-3383 lx brand: node.js test test-setproctitle.js fails
OS-15 add procfs equivalent to prctl(PR_SET_NAME)

Split Close
Expand all
Collapse all
          --- old/usr/src/man/man4/proc.4.man.txt
          +++ new/usr/src/man/man4/proc.4.man.txt
↓ open down ↓ 505 lines elided ↑ open up ↑
 506  506                          sigaction(2)); pr_what holds the stopping signal
 507  507                          number.
 508  508  
 509  509  
 510  510         PR_SUSPENDED
 511  511                          indicates that the lwp stopped due to internal
 512  512                          synchronization of lwps within the process. pr_what is
 513  513                          unused in this case.
 514  514  
 515  515  
      516 +       PR_BRAND
      517 +                        indicates that the lwp stopped for a brand-specific
      518 +                        reason.  Interpretation of the value of pr_what
      519 +                        depends on which zone brand is in use.  It is not
      520 +                        generally expected that an lwp stopped in this state
      521 +                        will be restarted by native proc(4) consumers.
 516  522  
      523 +
      524 +
 517  525         pr_cursig names the current signal, that is, the next signal to be
 518  526         delivered to the lwp, if any. pr_info, when the lwp is in a
 519  527         PR_SIGNALLED or PR_FAULTED stop, contains additional information
 520  528         pertinent to the particular signal or fault (see <sys/siginfo.h>).
 521  529  
 522  530  
 523  531         pr_lwppend identifies any synchronous or directed signals pending for
 524  532         the lwp. pr_lwphold identifies those signals whose delivery is being
 525  533         blocked by the lwp (the signal mask).
 526  534  
↓ open down ↓ 211 lines elided ↑ open up ↑
 738  746         psinfo_t.pr_flag is a deprecated interface that should no longer be
 739  747         used.  Applications currently relying on the SSYS bit in pr_flag should
 740  748         migrate to checking PR_ISSYS in the pstatus structure's pr_flags field.
 741  749  
 742  750  
 743  751         pr_pctcpu and pr_pctmem are 16-bit binary fractions in the range 0.0 to
 744  752         1.0 with the binary point to the right of the high-order bit (1.0 ==
 745  753         0x8000). pr_pctcpu is the summation over all lwps in the process.
 746  754  
 747  755  
      756 +       The pr_fname and pr_psargs are writable by the owner of the process. To
      757 +       write to them, the psinfo file should be open for writing and the
      758 +       desired value for the field should be written at the file offset that
      759 +       corresponds to the member of structure.  No other entry may be written
      760 +       to; if a write is attempted to an offset that does not represent one of
      761 +       these two memers, or if the size of the write is not exactly the size
      762 +       of the member being written, no bytes will be written and zero will be
      763 +       returned.
      764 +
      765 +
 748  766         pr_lwp contains the ps(1) information for the representative lwp.  If
 749  767         the process is a zombie, pr_nlwp, pr_nzomb, and pr_lwp.pr_lwpid are
 750  768         zero and the other fields of pr_lwp are undefined:
 751  769  
 752  770           typedef struct lwpsinfo {
 753  771               int pr_flag;             /* lwp flags (DEPRECATED: see below) */
 754  772               id_t pr_lwpid;           /* lwp id */
 755  773               uintptr_t pr_addr;       /* internal address of lwp */
 756  774               uintptr_t pr_wchan;      /* wait addr for sleeping lwp */
 757  775               char pr_stype;           /* synchronization event type */
↓ open down ↓ 88 lines elided ↑ open up ↑
 846  864         sigaction(2)). Signal numbers are displaced by 1 from array indices, so
 847  865         that the action for signal number n appears in position n-1 of the
 848  866         array.
 849  867  
 850  868     auxv
 851  869         Contains the initial values of the process's aux vector in an array of
 852  870         auxv_t structures (see <sys/auxv.h>). The values are those that were
 853  871         passed by the operating system as startup information to the dynamic
 854  872         linker.
 855  873  
      874 +   argv
      875 +       Contains the concatenation of each of the argument strings, including
      876 +       their NUL terminators, in the argument vector (argv) for the process.
      877 +       If the process has modified either its argument vector, or the contents
      878 +       of any of the strings referenced by that vector, those changes will be
      879 +       visible here.
      880 +
 856  881     ldt
 857  882         This file exists only on x86-based machines. It is non-empty only if
 858  883         the process has established a local descriptor table (LDT). If non-
 859  884         empty, the file contains the array of currently active LDT entries in
 860  885         an array of elements of type struct ssd, defined in <sys/sysi86.h>, one
 861  886         element for each active LDT entry.
 862  887  
 863  888     map, xmap
 864  889         Contain information about the virtual address map of the process. The
 865  890         map file contains an array of prmap structures while the xmap file
↓ open down ↓ 1184 lines elided ↑ open up ↑
2050 2075         /proc/pid/sigact
2051 2076  
2052 2077             process signal actions
2053 2078  
2054 2079  
2055 2080         /proc/pid/auxv
2056 2081  
2057 2082             process aux vector
2058 2083  
2059 2084  
     2085 +       /proc/pid/argv
     2086 +
     2087 +           process argument vector
     2088 +
     2089 +
2060 2090         /proc/pid/ldt
2061 2091  
2062 2092             process LDT (x86 only)
2063 2093  
2064 2094  
2065 2095         /proc/pid/usage
2066 2096  
2067 2097             process usage
2068 2098  
2069 2099  
↓ open down ↓ 243 lines elided ↑ open up ↑
2313 2343         version of /proc will be dropped in a future release, at which time the
2314 2344         top-level directory for a process will be made world-readable.
2315 2345  
2316 2346  
2317 2347         On SPARC based machines, the types gregset_t and fpregset_t defined in
2318 2348         <sys/regset.h> are similar to but not the same as the types prgregset_t
2319 2349         and prfpregset_t defined in <procfs.h>.
2320 2350  
2321 2351  
2322 2352  
2323      -                                March 31, 2013                         PROC(4)
     2353 +                                 May 19, 2014                          PROC(4)
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX