### 问题描述
while(true)协程不会立即退出
### Swoole版本,PHP版本,以及操作系统版本信息
PHP 7.4.7 (cli) (built: Jun 12 2020 00:04:10) ( NTS )
swoole
Swoole => enabled
Author => Swoole Team
Version => 4.5.5
Built => Oct 22 2020 13:07:00
coroutine => enabled
kqueue => enabled
rwlock => enabled
openssl => OpenSSL 1.1.1g 21 Apr 2020
http2 => enabled
pcre => enabled
zlib => 1.2.11
brotli => E16777223/D16777223
async_redis => enabled
### 相关代码
```php
//复现代码
use Swoole\Coroutine\Channel;
Co::set(['hook_flags'=> SWOOLE_HOOK_ALL]);
Co\run(function(){
function aa($data, $fd){
if (empty($GLOBALS['ffmpeg'][$fd])){
echo 'process'."\n";
$Channel = new Channel();
$GLOBALS['ffmpeg'][$fd] = &$Channel;
$shell = '/usr/local/bin/ffmpeg -f alaw -ar 8000 -ac 1 -i - -c:a aac -f flv -';
go(function () use($Channel, $shell){
defer(function (){
echo "退出携程\n";
});
$descriptorspec = [
0 => ['pipe', 'r'],
1 => ['pipe', 'w'],
2 => ['file', '/tmp/aa2s.txt', 'a'],
];
$process = proc_open($shell, $descriptorspec, $pipes);
stream_set_blocking($pipes['1'], false);
while ($data = $Channel->pop()){
// fwrite($pipes[0], $data);
// fread($pipes[1], 1024);
}
fclose($pipes[0]);
fclose($pipes[1]);
proc_close($process);
echo '进程结束'."\n";
});
$GLOBALS['ffmpeg'][$fd]->push($data);
}else{
$GLOBALS['ffmpeg'][$fd]->push($data);
}
}
for ($i=0; $i < 10000; $i++) {
aa('11', 1);
$GLOBALS['ffmpeg'][1]->close();
}
while(true){
}
});
```
### 你期待的结果是什么?实际看到的错误信息又是什么?
协程立即退出。我看到协程不会立即退出,等创建下一个协程的时候上一个才退出