多进程运行结果和预期不同

有两个文件,一个是多进程运行,另一个是待调用的文件


# -*- coding: utf-8 -*-
import subprocess


prcs = subprocess.Popen(['python', 'test.py'], stdout=subprocess.PIPE, stdin=subprocess.PIPE,stderr=subprocess.PIPE,
                        universal_newlines=True, shell=True)

prcs.communicate('Hello you!!')
print('subprocess pid:', prcs.pid)
print('\nSTDOUT: ')
print(str(prcs.communicate()[0]))
print('\nSTDERR: ')
print(prcs.communicate()[1])

```python

# -*- coding: utf-8 -*-
m = input()
print(m)
print('Hello world!!')
print(a)


为什么运行出来的结果是


```python
subprocess pid: 4810

STDOUT: 


STDERR: 
  File "<stdin>", line 1
    Hello you!!
          ^
SyntaxError: invalid syntax


预期结果:


```python
subprocess pid: 4810

STDOUT: 
Hello you!!
Hello world!!

STDERR: Traceback (most recent call last):
  File "test.py", line 5, in <module>
    print(a)
NameError: name 'a' is not defined

求各位解释一下错在哪里