# Program Execution Functions

## Introduction

Those functions provide means to execute commands on the system itself, and means to secure such commands.

## Requirements

No external libraries are needed to build this extension.

## Installation

There is no installation needed to use these functions; they are part of the PHP core.

## Runtime Configuration

This extension has no configuration directives defined in php.ini.

## Resource Types

This extension defines a process resource, returned by proc_open().

## Predefined Constants

This extension has no constants defined.

## Notes

Warning

Open files with lock (especially open sessions) should be closed before executing a program in the background.

## See Also

These functions are also closely related to the backtick operator. Also, while in safe mode you must consider the safe_mode_exec_dir directive.

## Table of Contents

- escapeshellarg — Escape a string to be used as a shell argument
- escapeshellcmd — Escape shell metacharacters
- exec — Execute an external program
- passthru — Execute an external program and display raw output
- proc_close — Close a process opened by proc_open and return the exit code of that process.
- proc_get_status — Get information about a process opened by proc_open
- proc_nice — Change the priority of the current process
- proc_open — Execute a command and open file pointers for input/output
- proc_terminate — Kills a process opened by proc_open
- shell_exec — Execute command via shell and return the complete output as a string
- system — Execute an external program and display the output