ironstein
ironstein

Reputation: 441

get a return value from a Daemon Process in Python

I have written a python daemon process that can be started and stopped using the following commands

/usr/local/bin/daemon.py start
/usr/local/bin/daemon.py stop

I can achieve the same results by calling these commands from a python script

os.system('/usr/local/bin/daemon.py start')
os.system('/usr/local/bin/daemon.py stop')

this works perfectly fine, but now I wish to add a functionality to the daemon process such that when I run the command

os.system('/usr/local/bin/daemon.py foo')

the daemon returns a Python object. So, something like :

foobar = os.sytem('/usr/local/bin/daemon.py foo')

just to be clear, I have all the logic ready in the daemon to return a Python object, I just can't figure out how to pass this object to the calling python script. Is there some way?

Upvotes: 0

Views: 506

Answers (2)

avanwieringen
avanwieringen

Reputation: 2444

Don't you mean you want to implement simple serialization and deserialization? In that case I'd propose to look at pickle (https://docs.python.org/2/library/pickle.html) to transform your data into a generic text format at the daemon side and transform it back to Python code at the client side.

Upvotes: 1

AndreyT
AndreyT

Reputation: 1499

I think, marshaling is what you need: https://docs.python.org/2.7/library/marshal.html & https://docs.python.org/2/library/pickle.html

Upvotes: 0

Related Questions