如何在后台运行(cmd-)命令?python
我制作了一个远程控制客户端,它可以从服务器接收命令。接收到的命令将作为shell中的普通cmd命令执行。但是如何在后台执行这些命令,以便用户不会看到任何输入或输出如何在后台运行(cmd-)命令?python,python,sockets,cmd,background,Python,Sockets,Cmd,Background,我制作了一个远程控制客户端,它可以从服务器接收命令。接收到的命令将作为shell中的普通cmd命令执行。但是如何在后台执行这些命令,以便用户不会看到任何输入或输出 例如,当我执行此操作时,用户将看到正在发生的任何事情: import os os.system(command_from_server) 您可以使用子流程Popen启动cmd,而无需等待结束: from subprocess import Popen pid = Popen(["ls", "-l&quo
例如,当我执行此操作时,用户将看到正在发生的任何事情:
import os
os.system(command_from_server)
您可以使用子流程Popen启动cmd,而无需等待结束:
from subprocess import Popen
pid = Popen(["ls", "-l"]).pid
Popen有很多用于处理stdout和stderr的配置选项。请参阅ufficial doc。您可以使用子流程Popen启动cmd,而无需等待结束:
from subprocess import Popen
pid = Popen(["ls", "-l"]).pid
Popen有很多用于处理stdout和stderr的配置选项。请参阅ufficial doc。要在后台执行命令,必须使用子流程模块。
例如:
import subprocess
subprocess.Popen("command", shell=True)
import os
os.chdir(path)
如果要使用多个参数执行命令,例如:ls-a,则代码有点不同:
import subprocess
subprocess.Popen(["ls", "-a"], shell=True)
但要更改目录,必须使用操作系统模块。例如:
import subprocess
subprocess.Popen("command", shell=True)
import os
os.chdir(path)
要在后台执行命令,必须使用子流程模块。
例如:
import subprocess
subprocess.Popen("command", shell=True)
import os
os.chdir(path)
如果要使用多个参数执行命令,例如:ls-a,则代码有点不同:
import subprocess
subprocess.Popen(["ls", "-a"], shell=True)
但要更改目录,必须使用操作系统模块。例如:
import subprocess
subprocess.Popen("command", shell=True)
import os
os.chdir(path)
我还不知道子流程Popen,但我会试试。谢谢,我还不知道子流程,但我会试试。感谢那不是真的
subprocess
接受关键字参数cwd=
,您可以在其中指定在哪个目录中运行子流程。此外,在第二个示例中,shell=True
是错误的;您可以将ls-l
作为单个字符串传递,或者(更好。在这里)删除shell=True
subprocess
接受关键字参数cwd=
,您可以在其中指定在哪个目录中运行子流程。此外,在第二个示例中,shell=True
是错误的;您可以将ls-l
作为单个字符串传递,或者(更好的方法是在这里)删除shell=True
。