J'ai créé plusieurs services PHP (CLI). Pour obtenir leur PID d'un autre processus de la meilleure façon. P>
Cependant, je ne trouve pas cette solution optimale .. p>
3 Réponses :
Si je ne me trompe pas, le code suivant fonctionnera pour vous.
ps aux | grep php
J'ai changé grep php code> à
grep p [h] p code>. Donc, la commande ne se trouve pas.
ne et il retournera quelque chose comme Cependant, étant donné que vous avez indiqué qu'il y en a plusieurs exécutions, vous pouvez différencier entre eux à l'aide de tandis que le grep code> la sortie de
ps code>. Au lieu de cela, utilisez
pgrep code>. Si vous n'avez que des processus PHP en cours d'exécution, vous pouvez trouver les processus par son nom comme suit:
49282 code>. P>.
pGrep --Full code>. Par exemple, si vous exécutez 2 commandes,
php foo.php code> et
php bar.php code>, et vous voulez que le PID du processus exécute
foo.php < / code>: p>
^ code> et
$ code> peut ne pas être nécessaire dans tous les cas, ils empêchent Faux- matchs positifs. Pour plus d'informations sur des expressions régulières, voir Ce
Grep code> -Spécifique a>. p> p>
Le meilleur moyen est de mémoriser les PID après avoir créé les sous-processus. Toutes les variantes analysant la liste de processus complète peuvent entraîner des points positifs erronés. p>
Une autre solution est, pour trouver / se souvenir du processus, qui a commencé les sous-processus et recherchent les processus de l'enfant. P>
Quoi qu'il en soit, vous nous avez donné moins de détails pour aider plus spécifiques. P>
Voulez-vous dire quelque chose comme getMypid () ?
@ Álvarogonzález La question indique "d'un autre processus".