Как сделать так, чтобы дочерний процесс записывал обратно в STDIN своего родителя в PHP? - PullRequest
4 голосов
/ 24 декабря 2010

Есть ли в PHP способ, чтобы дочерний процесс был разветвлен с помощью pcntl_fork(), чтобы записать данные непосредственно в стандартный поток его родителя?Я не имею ввиду отдельную трубу - сам ресурс stdin?(Это должен быть стандартный ввод, потому что, в общем, то, что делает родитель, не будет работать правильно, если он не может напрямую связать свой собственный ввод с входящими данными - отдельный канал не будет работать.) Как в:

$pid = pcntl_fork();
if (!$pid) {
  // do fun child process stuff
  // write data back to parent's STDIN
}

1 Ответ

1 голос
/ 24 декабря 2010

В Linux (не знаю, насколько распространенным это было бы для Unix в целом), процесс 'stdin может быть получен через /proc/$PID/fd/0 (а также stdout / stderr в 1 & 2 вместо 0)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...