Comment récuperer PID d'un shell_exec ?
Mihawka
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je suis propriétaire de serveur minecraft et je voudrais récupérer le pid de ce code
<?php shell_exec('java -Xms256M -Xmx10G -jar spigot.jar')?>
Je suis propriétaire de serveur minecraft et je voudrais récupérer le pid de ce code
<?php shell_exec('java -Xms256M -Xmx10G -jar spigot.jar')?>
2 réponses
-
salut,
je te donne une réponse, mais je ne l'ai pas testée :
si je fait :ps -e PID TTY TIME CMD 1 ? 00:00:02 systemd 2 ? 00:00:00 kthreadd 3 ? 00:00:00 ksoftirqd/0 5 ? 00:00:00 kworker/0:0H 7 ? 00:00:10 rcu_sched 8 ? 00:00:00 rcu_bh 9 ? 00:00:00 migration/0 10 ? 00:00:00 lru-add-drain 11 ? 00:00:00 watchdog/0 12 ? 00:00:00 cpuhp/0 13 ? 00:00:00 cpuhp/1 14 ? 00:00:00 watchdog/1 15 ? 00:00:00 migration/1 16 ? 00:00:00 ksoftirqd/1 19 ? 00:00:00 cpuhp/2 20 ? 00:00:00 watchdog/2 21 ? 00:00:00 migration/2 22 ? 00:00:00 ksoftirqd/2 25 ? 00:00:00 cpuhp/3 26 ? 00:00:00 watchdog/3 27 ? 00:00:00 migration/3 28 ? 00:00:00 ksoftirqd/3 31 ? 00:00:00 kdevtmpfs 32 ? 00:00:00 netns 33 ? 00:00:00 khungtaskd 34 ? 00:00:00 oom_reaper 35 ? 00:00:00 writeback 36 ? 00:00:00 kcompactd0 38 ? 00:00:00 ksmd 39 ? 00:00:00 khugepaged 40 ? 00:00:00 crypto 41 ? 00:00:00 kintegrityd 42 ? 00:00:00 bioset 43 ? 00:00:00 kblockd 44 ? 00:00:00 devfreq_wq 45 ? 00:00:00 watchdogd 47 ? 00:00:00 kswapd0 48 ? 00:00:00 vmstat 58 ? 00:00:00 kthrotld 60 ? 00:00:00 ipv6_addrconf
j’obtiens la liste des processus. j'ai volontairement tronqué le résultat. On peut voir par exemple que le pid 40 c'est crypto.ps -e | tr -s " " | grep crypto | cut -d " " -f 2 40
en faisant un grep sur crypto, j'isole juste la ligne qui concerne crypto. Il faut que trouve le nom du processus, peut être 'spigot' et que tu lance cette commande en remplaçant %PROCESSUS% par le nom.$pid = shell_exec('ps -e | tr -s " " | grep %PROCESSUS% | cut -d " " -f 2');
Enfin comme je t'ai dit. je n'ai pas testé avec shel_exec, peut être que se ne fonctionnera pas du premier coups. -
salut,
regarde la seconde réponse de ce post :
https://stackoverflow.com/questions/1470910/invoke-external-shell-script-from-php-and-get-its-process-id
et essai de faire plutôt ansi :$command = 'java -Xms256M -Xmx10G -jar spigot.jar > /dev/null 2>&1 & echo $!'; $pid = exec($command); var_dump($pid);