So script A spawns script B and terminates, and then you want to access the stdout of script B?
The first thing is that you probably don't want to capture the stdout from script B in A. But the stdout has to go somewhere, such as to a file (solution 2) or it can just be inherited stdout from the parent process (solution 1).
Solution 1
The following will exit to the shell immediately then write "123" to the same terminal 3 seconds later. If you pipe script A to a file then the outputs of script B will go there too.
python -c "import subprocess; subprocess.Popen(['python', '-c', 'import time; time.sleep(3); print(123)'])"
Solution 2
If you want script A to output to the terminal, but for script B's output to be stored somewhere else then you can write it to a file directly, such as by providing the file as the stdout kwarg to Popen like so:
p = subprocess.Popen(['python', 'listen.py'],
cwd="/execute",
stdout=open('/execute/results.txt', 'w'),
stderr=subprocess.STDOUT)
Solution 3
Or if you specifically want to use nohup then the following will by usually default write the output from the subprocess to nohup.txt
p = subprocess.Popen(['nohup', 'python', 'listen.py'],
cwd="/execute",
stderr=subprocess.STDOUT)