logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

prctl - Process operations

Author

       Khalid Aziz <khalid.aziz@oracle.com>

Description

prctl allows you to query or control certain process behavior.  Supported options are:

       Unalignedmemoryaccess: When a process performs an unaligned memory access, by default the kernel would
       emulate the unaligned access correctly and log the unaligned access  in  syslog.  This  behavior  can  be
       changed  so  the  kernel  could  either  emulate  the unaligned access correctly without logging an error
       ("silent") or send SIGBUS to the process ("signal" and "always-signal"). "always-signal" is available  on
       ia64 only.

       Floatingpointassistancefaults: when a process encounters a floating point assist fault, kernel would
       invoke floating point emulator and log the floating point assist fault. This behavior can be  changed  so
       the  kernel  could  either  emulate  floating point operation without logging an error ("silent") or send
       SIGFPE to the offending process ("signal").

       Machinecheckmemorycorruptionkillpolicy: If a  hardware  memeory  corruption  is  detected  inside  a
       thread's  address  space, mmemory corruption kill policy determines whether the thread received SIGBUS as
       soon as corruption is detected ("early"), when it accesses corrupted memory ("late"), or use system  wide
       default.

       prctl  can  optionally  be  followed by a command. If a command is specified, prctl will exec the command
       with the processor behavior set to as specified by the options. If a command is not specified, prctl will
       fork a new shell unless the command only queried the current settings.  The shell started by  prctl  will
       be  as  defined by the environment variable SHELL. If environment variable SHELL is not defined, shell in
       the password entry for the user will be started. If a shell is not found in the password entry, bash will
       be started.

   OPTIONS-v     Verbose mode. In verbose mode, any new settings are confirmed with a message on stdout.

       --help Print usage information and exit.

       --version
              Print software version and exit.

       -q     Query the current settings for the process options controllable by prctl.

       --unaligned=[silent|signal|always-signal|default]]
              Set unaligned memory access behavior to not log the access (silent), send SIGBUS  to  the  process
              (signal),  or do the default (default). On IA-64 architecture an additional value always-signal is
              supported which causes a SIGBUS to be generated every time an unaligned access  occurs.  Refer  to
              the  section  titled  "Memory Datum Alignment and Atomicity" in "Intel IA-64 Architecture Software
              Developer's Manual: Volume 2" for details on when an unaligned access would  not  generate  signal
              normally. If a value is not specified after "=", current setting is returned.

       --fpemu=[silent|signal|default]]
              Set  floating  point  assist  fault  behavior  to  not log the faulti (silent), send SIGFPE to the
              process (signal), or do the default (default). If a value is  not  specified  after  "=",  current
              setting is returned.

       If an option is specified multiple times, the last one takes effect.

Examples

prctl--unaligned=signal
              starts  up  a shell (as defined by the environment variable SHELL) and sets up any process running
              under this shell to be sent SIGBUS upon an unaligned memory access.

       prctl--unaligned=signalgdbtst
              starts up a gdb session for the program "tst" with the process set to receive SIGBUS upon unligned
              memory access.

       prctl--unaligned=
              displays the current setting for unaligned memory access handling.

       prctl--unaligned=gdbtst
              displays the current setting for unaligned memory access handling and starts up a gdb session  for
              the program "tst".

License

       This  software  is  made  available  under the GNU General Public License (GPL) Version 2.  This software
       comes with NO WARRANTY.

                                               Process operations                                       PRCTL(1)

Name

prctl - Process operations

Notes

       prctl works on 2.4.0 and above kernels only.

       --fpemu= option is specific to IPF (Itanium Processor Family, previously known as IA-64) and is supported
       on kernels 2.4.11 and above. Other architectures and kernels may return "Invalid argument" error.

See Also

prctl(2)

Synopsis

prctl [-v] [-h|--help] [--version] <-q|<options....>> [command]

       where <options> are:

       --unaligned=[silent|signal|always-signal|default]--fpemu=[silent|signal|default]--mcekill=[early|late|default]

See Also