【问题标题】:nohup: failed to run commandnohup:无法运行命令
【发布时间】:2016-12-03 14:45:46
【问题描述】:

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

【问题讨论】:

标签: python linux debian


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-16
    • 2012-12-18
    • 1970-01-01
    • 2018-04-13
    • 1970-01-01
    • 2020-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多