dwww Home | Manual pages | Find package

PROCPS_MISC(3)              Library Functions Manual             PROCPS_MISC(3)

NAME
       procps_misc - API for miscellaneous information in the /proc filesystem

SYNOPSIS
       #include <libproc2/misc.h>

       Platform Particulars

           long         procps_cpu_count (void);
           long         procps_hertz_get (void);
           unsigned int procps_pid_length (void);
           int          procps_linux_version (void);

       Runtime Particulars

           int   procps_loadavg (double *av1, double *av5, double *av15);
           int   procps_uptime (double *uptime_secs, double *idle_secs);
           char *procps_uptime_sprint (void);
           char *procps_uptime_sprint_short (void);

       Namespace Particulars

           int         procps_ns_get_id (const char *name);
           const char *procps_ns_get_name (int id);
           int         procps_ns_read_pid (int pid, struct procps_ns *nsp);

       Link with -lproc2.

DESCRIPTION
       procps_cpu_count()  returns the number of CPUs that are currently online
       as sysconf(_SC_NPROCESSORS_ONLY) or an assumed 1.

       procps_hertz_get() returns the number  of  clock  ticks  per  second  as
       sysconf(_SC_CLK_TCK)  or  an  assumed  100.  Dividing tics by this value
       yields seconds.

       procps_pid_length() returns the maximum string length for a PID  on  the
       system.  For example, if the largest possible PID value on was 123, then
       the  length  would  be  3.  If  the  file  /proc/sys/kernel/pid_max   is
       unreadable, the value is assumed to be 5.

       procps_linux_version()  returns  the current Linux version as an encoded
       integer. On non-Linux systems that have an emulated proc filesystem this
       function returns the  version  of  the  Linux  emulation  instead.   The
       version  consists  of  three  positive  integers representing the major,
       minor and patch levels.  The following macros are provided for  encoding
       a  given  Linux  version or separating out the components of the current
       version.

           LINUX_VERSION( major , minor , patch )

           LINUX_VERSION_MAJOR( ver )

           LINUX_VERSION_MINOR( ver )

           LINUX_VERSION_PATCH( ver )

       procps_loadavg() fetches the system load average and puts the 1,  5  and
       15  minute  averages  into location(s) specified by any pointer which is
       not NULL.

       procps_uptime() returns uptime  and/or  idle  seconds  into  location(s)
       specified by any pointer which is not NULL.  The sprint varieties return
       a human-readable string in one of two forms.

           HH:MM:SS up HH:MM, # users, load average: 1, 5, 15 MM averages

           up HH, MM

       procps_ns_get_id()  returns  the integer id (enum namespace_type) of the
       namespace for the given namespace name.

       procps_ns_get_name() returns the name of the namespace for the given  id
       (enum namespace_type).

       procps_ns_read_pid()  returns the inodes for the namespaces of the given
       process in the procps_ns structure pointed to by nsp.  Those inodes will
       appear in the order proscribed by enum namespace_type.

           enum namespace_type {
               PROCPS_NS_CGROUP,
               PROCPS_NS_IPC,
               PROCPS_NS_MNT,
               PROCPS_NS_NET,
               PROCPS_NS_PID,
               PROCPS_NS_TIME,
               PROCPS_NS_USER,
               PROCPS_NS_UTS
           };

RETURN VALUE
   Functions Returning an `int' or `long'
       An error will be indicated by a  negative  number  that  is  always  the
       inverse of some well known errno.h value.

   Functions Returning an `address'
       An  error  will  be  indicated  by a NULL return pointer with the reason
       found in the formal errno value.

FILES
       /proc/loadavg
              The raw values for load average.

       /proc/sys/kernel/osrelease
              Contains  the  release  version  of  the  Linux  kernel  or  proc
              filesystem.

       /proc/sys/kernel/pid_max
              Contains  the  value  at which PIDs wrap around, one greater than
              the maximum PID value.

       /proc/uptime
              The raw values for uptime and idle time.

       /proc/<PID>/ns
              contains the set of namespaces for a particular PID.

SEE ALSO
       procps(3), procps_pids(3), proc(5).

libproc2                          August 2022                    PROCPS_MISC(3)

Generated by dwww version 1.16 on Tue Dec 16 06:53:07 CET 2025.