gpt4 book ai didi

python - 在后台运行命令

转载 作者:行者123 更新时间:2023-12-02 00:38:25 29 4
gpt4 key购买 nike

我正在使用 python 子进程模块来运行一些命令并将其输出存储在后台。该命令部署在我的机器上。现在,每当我从 shell 提示符运行命令时,它都可以正常工作。但是当我尝试使用子进程模块运行相同的命令时,它给出以下错误

要执行的命令是vxswadm listswitch all

process = subprocess.Popen('vxswadm listswitch all > tmp.txt &',shell=True)          
>>> Traceback (most recent call last):
File "/usr/bin/vxswadm", line 30, in <module>
l.uname = os.getlogin()
OSError: [Errno 25] Inappropriate ioctl for device

谁能帮我解决这个错误。任何建议都会有帮助。提前致谢

塔齐姆

最佳答案

该问题可能是由于 bash shell 在 & 之后立即终止所致。并将 SIGHUP 信号发送到其所有子进程(标准 shell 行为)。

您可以使用subprocess模块​​直接执行命令,并可以将输出重定向到tmp.txt首先打开文件,然后将其文件句柄传递给 stdout Popen 调用的参数。

关于python - 在后台运行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3100750/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com