exec命令

时间:2019-04-16 23:59:05  来源:igfitidea点击:

使用exec命令将shell替换为给定的命令
exec命令用于用该命令替换当前shell,而不会生成新的进程或子shell。

exec命令也被用来将文件描述符fd分配给文件名:

exec 3> /tmp/output

语法

exec [-cl] [-a name] [command [arguments ...]] [redirection ...]

-c在空环境中执行命令COMMAND
-l在命令的第0参数中放置一个破折号
-a name将NAME作为第0个参数传递给命令COMMAND

示例

启动ssh-agent

exec ssh-agent $SHELL

然后向认证代理添加私钥身份:

ssh-add

封装脚本

exec命令可以在封装脚本中使用。

例如,设置环境变量或其他配置后,php-cgi可以作为cgi程序运行。
通过使用exec, shell程序php.cgi使用的资源在程序启动后不需要继续使用。

下面的脚本可以使用Apache web服务器中运行,它可以加快php的执行:

#!/bin/bash
# 使用Apache 2.2.x下的mod_fastcgi运行PHP5的Shell脚本包装器
PHP_CGI=/usr/local/bin/php-cgi
# 在 centos 中这样设置
# PHP_CGI=/usr/bin/php-cgi
export PHP_FCGI_CHILDREN=4
export PHP_FCGI_MAX_REQUESTS=1000
exec $PHP_CGI