Как я могу проверить, создан ли файл в фоновом режиме в PHP? - PullRequest
0 голосов
/ 25 мая 2020

Я жду, когда фоновый процесс завершит sh в сценарии конфигурации установки, написанном на PHP:

$process = new BackgroundProcess("exec openssl genrsa -out " . $privateKeyPath . " 2048");

$process->run();

, прежде чем запустить следующую команду, которая создает ключ publi c:

$process = new BackgroundProcess("exec openssl rsa -in " . $privateKeyPath . " -pubout -out " . $publicKeyPath);

$process->run();

Я проверяю, существует ли файл через некоторое время l oop вот так:

while(!file_exists($privateKeyPath)) {
    sleep(0.01);
}

перед запуском второго фонового процесса.

Экземпляры BackgroundProcess создаются из репозитория Cocur Background-Process

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

1 Ответ

0 голосов
/ 26 мая 2020

Вы можете выполнить две команды следующим образом:

$process = new BackgroundProcess("exec openssl genrsa -out " . $privateKeyPath . " 2048 && exec openssl rsa -in " . $privateKeyPath . " -pubout -out " . $publicKeyPath);

Поскольку linux выполнит c первую команду и дождется ее выполнения, чтобы выполнить вторую.

Может быть, не лучшая идея, но работает

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