ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# swoole_async::exec 异步执行`Shell`命令。相当于`shell_exec`函数,执行后底层会`fork`一个子进程,并执行对应的`command`命令。 ```php function swoole_async::exec(string $command, callable $callback); ``` * `$command`为执行的终端指令,如`ls` * 执行成功后返回子进程的`PID` * 命令执行完毕子进程退出后会回调指定的`$callback`函数,回调函数接收`2`个参数,第一个参数为命令执行后的屏幕输出内容`$result`,第二个参数为进程退出的状态信息`$status` 注意事项 ----- * **`fork`创建子进程的操作代价是非常昂贵的,系统无法支撑过大的并发量** * 使用`exec`时,请勿使用`pcntl_signal`或`swoole_process::signal`注册`SIGCHLD`函数,执行`wait`操作,否则在命令回调函数中,状态信息`$status`将为`false` > 此函数在`1.9.22`或更高版本可用 使用实例 ----- ```php $pid = Swoole\Async::exec("ps aux", function ($result, $status) { var_dump(strlen($result), $status); }); var_dump($pid); ```