Le kellene ellenőriznem egy Python progi futtatása közben, hogy fut-e egy bizonyos program. Azt szeretném tudni, hogy van-e vmilyen elegáns módja.
Most elég csúnyán csinálom. os.system-et használva ps -A aztán grep-pel megnézem, hogy ott van-e a futó processzek között. (Eddig OK.) De hogy tudatom a Python-nal? Most azt csinálom, hogy ebben az esetben létrehozok egy fájlt és azt ellenőrzöm Python-ból, hogy létezik-e.
Nem tud valaki valamilyen elegánsabb módszert?
Köszi: nigra
- 1026 megtekintés
Hozzászólások
pipe = os.popen("ps -ef|grep '%s'" % keresett_progi, 'r')
valasz = pipe.read()
rc = pipe.close()
# valasz-ban lesz a visszaadott STDOUT, rc-ben az exit code
Vagy ha esetleg van /proc fs, akkor
os.walk-al végigsétálni a /proc/ddd (pid-ek) könyvtárak cmdline fájljain, megkeresni a neked kellőt.
- A hozzászóláshoz be kell jelentkezni
Ez az, sejtettem, hogy van valami ilyesmi :-)
Nagyköszi!
Kellemes Karácsonyt:
nigra
- A hozzászóláshoz be kell jelentkezni
Egy kicsit rövidebben:
import commands
status, output = commands.getstatusoutput("ps -ef | grep '%s'"%keresett_progi)
- A hozzászóláshoz be kell jelentkezni