mirror of
https://github.com/BOSWatch/BW3-Core.git
synced 2025-12-06 07:12:04 +01:00
some fixes in processManager
This commit is contained in:
parent
e19f9f2a71
commit
36e02eca4c
|
|
@ -37,14 +37,17 @@ class ProcessManager:
|
|||
|
||||
@param arg: argument to add as string"""
|
||||
logging.debug("add argument to process: %s -> %s", self._args[0], arg)
|
||||
self._args.append(arg.split())
|
||||
for splitArg in arg.split():
|
||||
self._args.append(splitArg)
|
||||
|
||||
def clearArguments(self):
|
||||
"""!clear all arguments"""
|
||||
self._args = self._args[0:1] # kept first element (process name)
|
||||
|
||||
def start(self):
|
||||
"""!start the new process"""
|
||||
"""!start the new process
|
||||
|
||||
@return: True or False"""
|
||||
logging.debug("start new process: %s", self._args)
|
||||
try:
|
||||
self._processHandle = subprocess.Popen(self._args,
|
||||
|
|
@ -52,17 +55,24 @@ class ProcessManager:
|
|||
stdout=self._stdout,
|
||||
stderr=self._stderr,
|
||||
universal_newlines=self._textMode)
|
||||
if not self.isRunning:
|
||||
logging.error("cannot start")
|
||||
return False
|
||||
return True
|
||||
|
||||
except FileNotFoundError:
|
||||
logging.error("File not found: %s", self._args[0])
|
||||
return False
|
||||
|
||||
def stop(self):
|
||||
"""!Stop the process by sending SIGTERM and wait for ending"""
|
||||
if self._processHandle and self.isRunning:
|
||||
logging.debug("stopping process: %s", self._args[0])
|
||||
logging.debug("stopping process: %s", self._args[0])
|
||||
if self.isRunning:
|
||||
self._processHandle.terminate()
|
||||
while self.isRunning:
|
||||
pass
|
||||
logging.debug("cannot stop - process not running: %s", self._args[0])
|
||||
else:
|
||||
logging.debug("process not running: %s", self._args[0])
|
||||
|
||||
def readline(self):
|
||||
"""!Read one line from stdout stream
|
||||
|
|
|
|||
51
bw_client.py
51
bw_client.py
|
|
@ -47,23 +47,52 @@ from boswatch.processManager import ProcessManager
|
|||
header.logoToLog()
|
||||
header.infoToLog()
|
||||
|
||||
# sox = ProcessManager("_bin/win/sox/sox.exe")
|
||||
# rtl = ProcessManager("_bin/win/rtl_fm/rtl_fm.exe")
|
||||
# multimon = ProcessManager("_bin/win/multimon/multimon-ng.exe", True)
|
||||
# multimon.addArgument("-a POCSAG1200")
|
||||
# multimon.addArgument("-t raw")
|
||||
# multimon.addArgument("-v 3")
|
||||
# multimon.addArgument("poc1200.raw")
|
||||
#
|
||||
# multimon.setStderr(None)
|
||||
# multimon.start()
|
||||
#
|
||||
# logging.debug("go")
|
||||
# try:
|
||||
# rtl.addArgument("-f 85.235MHz")
|
||||
# rtl.addArgument("-d 1")
|
||||
# rtl.addArgument("-M fm -s 22050 -g 100")
|
||||
# rtl.setStderr(None)
|
||||
# #rtl.start()
|
||||
#
|
||||
# while multimon.isRunning:
|
||||
# data = multimon.readline()
|
||||
# if data is not None:
|
||||
# print(data)
|
||||
# sox.addArgument("-t ogg 88022.ogg -esigned-integer -b16 -r 22050 -t raw -")
|
||||
# sox.setStderr(None)
|
||||
# sox.start()
|
||||
#
|
||||
#
|
||||
# #.\_bin\win\sox\sox.exe -t ogg -esigned-integer -b16 -r 22050 88022.ogg -
|
||||
#
|
||||
# multimon.addArgument("-a ZVEI1 -a FMSFSK")
|
||||
# multimon.addArgument("-t raw")
|
||||
# #multimon.addArgument("-v 3")
|
||||
# multimon.addArgument("-")
|
||||
# multimon.setStdin(sox.stdout)
|
||||
# multimon.setStderr(None)
|
||||
#
|
||||
# multimon.start()
|
||||
#
|
||||
# logging.debug("go")
|
||||
#
|
||||
# while multimon.isRunning:
|
||||
# data = multimon.readline()
|
||||
# if data is not None:
|
||||
# print(data)
|
||||
#
|
||||
# logging.debug("end")
|
||||
#
|
||||
# except:
|
||||
# logging.exception("batsch")
|
||||
#
|
||||
# finally:
|
||||
#
|
||||
# sox.stop()
|
||||
# multimon.stop()
|
||||
# rtl.stop()
|
||||
#
|
||||
# exit()
|
||||
|
||||
logging.debug("parse args")
|
||||
|
|
|
|||
Loading…
Reference in a new issue