nohup:无法运行命令

时间:2016-12-03 14:45:46

标签: python linux debian

出于某些奇怪的原因,当我运行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"。我也试过运行其他命令并得到完全相同的错误。

1 个答案:

答案 0 :(得分:1)

您给了nohup一个包含空格和引号的参数,但找不到具有该名称的命令。拆分它以便命令为openvpn,还有两个参数(你可能会发现最后一个参数周围的额外引号也不应该存在)。有时这个作业留给shell,就像system函数一样,但这通常风险较大(类似于SQL注入)而且效率低(为一个简单的任务运行另一个进程)。