Hello,

I have a flowgraph that I made with  GRC and modified.  All I want to do
with the flowgraph is make it run as a daemon.  I understand that if there
are overflows or underflows I'll miss them, that's OK.

I added some basic python code to daemonize my flowgraph:


        # Fork once
        try:
            pid = os.fork()
        except OSError:
            print 'error forking'

        if pid > 0:  # if parent, return
            return

        os.umask(0)

        # Reset the session ID
        try:
            os.setsid()
        except OSError:
            sys.exit(1)

        # Fork twice, giving up ownership of first parent's SID
        try:
            pid = os.fork()
        except OSError:
            print 'error forking'

        if pid != 0:  # if parent, return
            sys.exit(0)

        # Change PWD
        try:
            os.chdir('/')
        except OSError:
            return

        # Close open files
        sys.stdin.close()
        sys.stdout.close()
        sys.stderr.close()

        with open('/dev/null', 'r+') as devnull:
            sys.stdin = devnull
            sys.stdout = devnull
            sys.stderr = devnull

    tb = top_block_cls(options)
    tb.start()
    time.sleep(60.0)
    tb.stop()
    tb.wait()

When I run this, it works at first (I get my prompt back, you can see me
trying to open the file).  But then the UHD hijacks my stdout/stderr and
resumes as if nothing happened.

$ ./flowgraph.py -t
30

linux; GNU C++ version 4.8.4; Boost_105500; UHD_003.009.005-0-g32951af2

$ vim flowgraph.py -- X300 initialization
sequence...
-- Determining maximum frame size... 1472 bytes.
-- Setup basic communication...
-- Loading values from EEPROM...
-- Setup RF frontend clocking...
-- Radio 1x clock:200
-- Initialize Radio0 control...
-- Performing register loopback test... pass
-- Initialize Radio1 control...
-- Performing register loopback test... pass

How do I stop the UHD from doing this?

Thanks for any help,
Devin
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to