出于某些奇怪的原因,当我运行python脚本:
subprocess.Popen(["nohup", "openvpn --config '/usr/local/etc/openvpn/pia_openvpn/AU Melbourne.ovpn'"])
我得到了
nohup: failed to run command ‘openvpn --config '/usr/local/etc/openvpn/pia_openvpn/AU Melbourne.ovpn'’: No such file or directory
我可以毫无错误地运行openvpn --config "/usr/local/etc/openvpn/pia_openvpn/AU Melbourne.ovpn"
。我也试过运行其他命令并得到完全相同的错误。
答案 0 :(得分:1)
您给了nohup
一个包含空格和引号的参数,但找不到具有该名称的命令。拆分它以便命令为openvpn
,还有两个参数(你可能会发现最后一个参数周围的额外引号也不应该存在)。有时这个作业留给shell,就像system
函数一样,但这通常风险较大(类似于SQL注入)而且效率低(为一个简单的任务运行另一个进程)。