我想用一个使用 os.execv 的新进程替换当前进程,除非您没有任何参数,否则它工作正常。
即使我没有要传递给要启动的进程的参数,我该如何调用它?
# Works fine, unless the arguments tuple wouldn't exist or be empty
os.execv('process.exe', ('arg1', 'arg2'))
最佳答案
这三种变体可以解决问题:
cmd = '/usr/bin/vi'
os.execv(cmd, (' ',))
os.execv(cmd, [' '])
os.execl(cmd, '')
通常,参数列表 (sys.argv) 的第一个参数是用于调用应用程序的命令。 所以最好使用其中之一:
cmd = '/usr/bin/vi'
os.execv(cmd, (cmd,))
os.execv(cmd, [cmd])
os.execl(cmd, cmd)
关于python - 没有 args 参数的 os.execv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3384007/