Comment récuperer PID d'un shell_exec ?

Mihawka -  
 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')?>

2 réponses

  1. Utilisateur anonyme
     
    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.
    3
    1. Mihawka
       
      Marche pas pour moi mais fonctionne bien seul
      0