_BPXK environment variables
A partial list of the _BPXK environment variables is as follows.
- _BPXK_AUTOCVT
- Used when enabling automatic conversion of tagged files. When
set, this variable overrides the AUTOCVT setting in BPXPRMxx.
For fork (BPX1FRK/BPX4FRK), spawn (BPX1SPn/BPX4SPN), exec (BPX1EXC/BPX4EXC), and pthread_create (BPX1PTC/BPX4PTC), _BPXK_AUTOCVT is propagated from the parent to the child. For pthread_create, the parent is the Initial Program Task (IPT).
- ON
- Activates the automatic file conversion of tagged files. This option affects conversion for I/O for regular, pipe, and character-special files that are tagged.
- OFF
- Deactivates the automatic file conversion of tagged files. OFF is the default.
- ALL
- Activates the automatic conversion of tagged files that are supported by Unicode Services. This option affects conversion for I/O for regular and pipe files that are tagged. Setting or unsetting ALL has no effect after translation for a file begins. If the conversion is between EBCDIC and ASCII, this option also affects conversion for I/O for character special files.
- _BPXK_CCSIDS
- Defines an EBCDIC/ASCII pair of valid coded character set IDs
(CCSIDs) to be used when automatically converting data or tagging
new files. For example:
_BPXK_CCSIDS=(1234,5678)
- _BPXK_DAEMON_ATTACH
- Attaches the security environment of the caller of either the setuid(), seteuid(), or setreuid()
services to the security environment of the target UID. This combined security environment is called
a nested ACEE. Using the nested ACEE, the new client identity can then access RACF® delegated resources to which only the caller (for example, a daemon), but
not the client, is permitted. A RACF-protected resource is delegated if the profile protecting the
resource has the string
'RACF-DELEGATED'
in the application data (APPLDATA) field. For more information about Defining delegated resources, see z/OS Security Server RACF Security Administrator's Guide.- YES
- Attaches the security environment of the caller of either the setuid(), seteuid(), or setreuid()
services to the security environment of the target UID. The new client identity can then access MVS™ resources that are protected by profiles with
APPLDATA('RACF-DELEGATED')
- NO
- Security environments are built the way that they normally are. NO is the default.
- _BPXK_DISABLE_SHLIB
- Specifies whether normal system shared library program processing
is enabled (NO) or disabled (YES) for a process.
- YES
- System shared libraries are disabled. When loading a program with the system shared library extended attribute (st_sharelib), the attribute is ignored and the program is loaded into the caller's private storage. Virtual storage is not allocated from the caller's region for system shared libraries.
- NO
- System shared libraries are enabled, with normal processing of system shared library programs. NO is the default setting.
Note:- The scope of _BPXK_DISABLE_SHLIB scope is process-wide.
- In a multiple process address space, each process must disable system shared libraries to prevent SHRLIBREGSIZE bytes from being allocated from the caller's region. All processes in the same address space share the same region.
- The _BPXK_DISABLE_SHLIB setting is propagated on both fork and spawn from the parent to the child process.
- The z/OS UNIX spawn (BPX1SPN), exec (BPX1EXC and BPX1ATX) and oe_env_np (BPX1ENV) services have support for _BPXK_DISABLE_SHLIB.
- The use of the_BPXK_DISABLE_SHLIB environment variable disables the sharing of storage for system shared libraries and can increase the amount of real or auxiliary storage consumed.
- _BPXK_FORCE_CANCEL
- Controls the behavior of the pthread_cancel() service for the
scope of the process that sets this environment variable.
- YES
- Specifies that the pthread_cancel() service is to cancel the target thread even if it is not in
a normally cancelable state. To accomplish this task, the pthread_cancel() service can wait up to
three seconds to ensure that the targeted thread is terminated. If the normal signal mechanism does
not terminate the thread in that time, then the nonresponding thread is terminated with a 422 ABEND,
reason code 1A0. The threads that can be canceled with this setting include:
- Threads that are waiting but do not use a z/OS® UNIX service to enter the wait.
- Threads that are running in an MVS service other than one provided by z/OS UNIX.
- Threads that are running with a non-z/OS UNIX linkage stack entry at the top of the stack
This environment variable does not override the interruptability state set by pthread_setintr() or the interruptability type set by pthread_setintrtype(). The behavior for a thread that has been created but not yet assigned to a task control block (TCB) is not affected by this environment variable. The cancel remains pending and is delivered when the thread is assigned to a TCB. Threads that are waiting in a z/OS UNIX service that is not defined as a cancellation point are also not affected by this environment variable. See the usage notes for the pthread_setintr() service in z/OS UNIX System Services Programming: Assembler Callable Services Reference for the definition of thread cancellation points.
- NO
- Specifies that the pthread_cancel() service retains the existing behavior. NO is the default.
- _BPXK_GPSENT_SECURITY
- The w_getpsent() service (BPX1GTH/BPX4GTH) can use the thread-level
identity that is created by the pthread_security_np() service when
it checks the ownership of process information.
- THREAD
- Any thread that is running in the invoking process uses the thread-level identity that is created by pthread_security_np(), if any exists, when it processes the w_getpsent() service. Task-level identities that are not created by pthread_security_np() continues to be ignored by w_getpsent().
- PROCESS
- w_getpsent() ignores the thread-level identity and uses the process-level identity. PROCESS is the default.
- _BPXK_INITTAB_RESPAWN
- Specifies whether a process is to be dynamically started with
the respawn attribute.
- YES
- Specifies that a process is to be started with the respawn attribute.
Setting the YES attribute after the process has started does not affect
the setting of the respawn attribute. If a process is started by a
spawn with _BPXK_INITTAB_RESPAWN=YES (set by an export shell command,
for example), the shell invokes the target program. The program will
be automatically restarted when it ends, even if it was not originally
started from the /etc/inittab file.
To set the variable to YES, you must have superuser authority.
- NO
- Disables the respawn capability of the process.
The NO setting must be set by an application (by a putenv call, for example), while it is running.
You can choose the NO setting to allow for a problem to be fixed if one forced the application to end. Doing so prevents the application from being restarted automatically again with the same problem.
- _BPXK_JOBLOG
- Specifies whether WTO messages are to be written to an open job
log file. For more information about setting _BPXK_JOBLOG, see Writing messages to a job log file.
- nn
- The job log messages are to be written to open file descriptor nn.
- NONE
- Job log messages are not written. NONE is the default.
- STDERR
- Messages are written to the standard error file descriptor, 2.
- _BPXK_MDUMP
- Specifies whether a SYSMDUMP is to be written to the current working
directory or an MVS data set.
- OFF
- The dump is written to the current working directory. OFF is the
default.
This dump is written only if the user allocates a SYSMDUMP data set for the TSO/E session. The system creates a file in the user's working directory, names it coredump.pid, where pid is the process ID for the process that is being dumped, and writes the core dump (SYSMDUMP) in hexadecimal format.
- MVS data set name
- The dump is written to an MVS data
set. The data set name can be up to 44 characters long. It can also
be uppercase or lowercase. If it is lowercase or mixed case, the data
set name is folded to uppercase.
The data set name must be a fully qualified name. It must also be preallocated and cataloged.
- z/OS UNIX name
- The dump is written to a z/OS UNIX file.
The file name can be up to 1024 characters long.
The file name must be an absolute path name; that is, it must begin with a slash. The slash refers to the root directory, and the file is created in that directory.
- _BPXK_PCCSID
- Identifies the program CCSID for the running thread or user. It can be used to override the internal default of 1047 (EBCDIC). Any value between 0 and 65535 can be assigned, but to avoid any subsequent errors, only values that are supported by Unicode Services should be used. Setting or unsetting this variable has no effect after translation for a file begins. When unset, the internal value of the program CCSID reverts to the default of 1047.
- _BPXK_SETIBMOPT_TRANSPORT
- Used in a Common INET configuration to choose a socket stack for a program.
- _BPXK_SUID_FORK
- Specifies whether the setuid indicator is propagated to a child
address space that was created by a fork process.
- YES
- The setuid indicator is propagated to child processes that were created by a fork process. If those children perform a job step exec, it is treated as a new job exec. A new job exec updates job-related attributes to match the RACF identity.
- NO
- The setuid indicator is not propagated to child processes that were created by a fork process. A job-step exec from the child will not be a new job exec. NO is the default.
- _BPXK_TECHNIQUE
- Specifies the Unicode Services conversion technique to use for the I/O conversion operation.
Setting or unsetting this variable has no effect after conversion of the file starts. If
_BPXK_TECHNIQUE is not specified, the default is LMREC. For more information, see z/OS Unicode Services User's Guide and Reference.
- R
- Roundtrip
- E
- Enforced subset
- C
- Customized subset
- L
- Language Environment® behavior
- M
- Modified for special use
- 0-9
- User-defined conversions
- _BPXK_TIMEOUT
- Specifies whether the process should time out or not.
- SMF
- Uses the JWT|TWT|SWT values specified in SMFRMxx.
- NONE
- Specifies that this process is not to be timed out.
- _BPXK_UNICODE_TECHNIQUE
- Specifies the Unicode Services conversion technique to use for the I/O translation operation.
Setting or unsetting this variable has no effect after translation for a file starts. If
_BPXK_UNICODE_TECHNIQUE is not specified, the Unicode Services default applies. Any eight of the
following characters techniques can be specified. Do not specify spaces or commas.
For more
information, see z/OS Unicode Services User's Guide and Reference.
- R
- Roundtrip
- E
- Enforced subset
- C
- Customized subset
- L
- Language Environment behavior
- M
- Modified for special use
- 0-9
- User-defined conversions
- _BPXK_UNICODE_MAL
- Specifies the Unicode Services substitution action to take for the translation operation when a
source character is malformed. Setting or unsetting this variable has no effect after translation
for a file begins. _BPXK_UNICODE_SUB must be YES for this option to apply. For more information, see
z/OS Unicode Services User's Guide and Reference.
- NO
- Unicode Services performs the substitution action. NO is the default.
- YES
- Unicode Services and, therefore z/OS UNIX, terminates the I/O with an error. _BPXK_UNICODE_SUB must be YES for this option to apply. YES is the default.
- _BPXK_UNICODE_SUB
- Specifies the Unicode Services substitution action to take for I/O translation operation when a
source character is not convertible to a target character. Setting or unsetting this variable has no
effect after translation for a file begins. For more information, see z/OS Unicode Services User's Guide and Reference.
- NO
- Instructs Unicode Services and, therefore z/OS UNIX, to terminate the I/O with an error. NO is the default.
- YES
- Instructs Unicode Services to place a substitute character in the output buffer.
- _BPXK_UNUSEDTASKS
- Specifies whether to keep pthreads in a wait.
- KEEP
- Do not limit the number of pthreads in a wait.
- TERM
- Terminates waiting pthreads after 30 seconds. TERM is the default.
- _BPXK_WLM_PROPAGATE
- Controls propagation of WLM enclaves that were not created by
the z/OS UNIX kernel.
- YES
- z/OS UNIX services propagates all enclaves (address spaces or task). The services that propagate enclaves are fork(), exec(), spawn(), pthread_create(), _osenv(), and FastCGI. YES is the default.
- NO
- z/OS UNIX services does not propagate any enclaves that were not created by the z/OS UNIX kernel.