标题: exec()和pcntl_exec()
1. 执行文件 _exec.php (lnmp)
<?php
echo "Master process id = " . posix_getpid() . PHP_EOL;
$pid = pcntl_fork();
switch ($pid) {
case -1:
die('Create failed');
break;
case 0:
// child
echo "Child process id = " . posix_getpid() . PHP_EOL;
sleep(2);
// exec("sh ./test.sh A B");
pcntl_exec("./test.sh", ['AA','BB']);
echo "I will exit\n";
break;
default:
if ($exit_id = pcntl_waitpid($pid,$status, WUNTRACED)){
echo "Child({$exit_id}) exited\n";
}
echo "Parent process id = " . posix_getpid() . PHP_EOL;
break;
}
2. 执行结果
Master process id = 25354
Child process id = 25355
Child(25355) exited
Parent process id = 25354
3. 总结