Как мне сделать, чтобы дочерний процесс записал обратно в стандартный идентификатор своего родителя в PHP?


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

$pid = pcntl_fork();
if (!$pid) {
  // do fun child process stuff
  // write data back to parent's STDIN
}
Author: Michael Louis Thaler, 2010-12-24

1 answers

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

 1
Author: Marc B, 2010-12-24 04:57:14