我正在使用subprocess.Popen()调用子流程调用,该调用应独立运行,而父流程无需等待子流程的执行。
我尝试将某些数据结构作为字符串发送给子进程,该子进程在我的本地Windows机器上运行良好,但是当我在AWS ec2实例(Linux)中运行相同的代码时,它不会执行。即使当我在同一Linux中运行子流程的示例代码时,它也可以完美执行。
```parent process```
in_data = {'InstancesInfo': parameters['instances_info'],
'external_id': parameters['user_details['external_id'],
'role_arn': parameters['user_details']['role_arn'],
'org_id': parameters['user_details']['org_id']
}
args = json.dumps(in_data)
self.logger.info(CURRENT_OS)
if CURRENT_OS == 'Linux':
self.logger.info("Inside IF")
subprocess.Popen(['python', 'RightSizeTypeConverter.py',args], shell=True)
self.logger.info("Done")
else:
subprocess.Popen(['python', 'C:\develop\CloudM\AWS\General\RightSizeTypeConverter.py', args], shell=True)
print("Done")
```child process file```
```some code````
if __name__ == "__main__":
logger.info("Inside Main")
instance_list = json.loads(sys.argv[1])
update_right_size_ec2_instances(instance_list)
logger.info("Inside Main")
我没有收到错误消息。好像一切正常