标题:   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. 总结

知识点(1)

相关文章: