subprocess.run() uses Popen and defaults shell=False. There is no shell process involved. As the other user already pointed out.