change the way to call subprocess.Popen