如何运行bash';tc&x27;python中的命令?
我想使用Python对Linux内核进行流量控制,以模拟丢失、损坏和重复的包。我已经能够用Linux终端配置它,但我必须使用python bash cmd的工作原理:如何运行bash';tc&x27;python中的命令?,python,linux,trafficshaping,Python,Linux,Trafficshaping,我想使用Python对Linux内核进行流量控制,以模拟丢失、损坏和重复的包。我已经能够用Linux终端配置它,但我必须使用python bash cmd的工作原理: tc filter show dev eth1 python不起作用: >>> subprocess.call(["tc", "filter", "show", "dev", "eth1"]) Traceback (most recent call last): File "<stdin>",
tc filter show dev eth1
python不起作用:
>>> subprocess.call(["tc", "filter", "show", "dev", "eth1"])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.6/subprocess.py", line 470, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.6/subprocess.py", line 623, in __init__
errread, errwrite)
File "/usr/lib/python2.6/subprocess.py", line 1141, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
子流程调用([“tc”、“筛选器”、“显示”、“开发”、“eth1]”)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/usr/lib/python2.6/subprocess.py”,第470行,在调用中
返回Popen(*popenargs,**kwargs)。等待()
文件“/usr/lib/python2.6/subprocess.py”,第623行,在__
错误读取,错误写入)
文件“/usr/lib/python2.6/subprocess.py”,第1141行,在执行子进程中
引发子对象异常
OSError:[Errno 2]没有这样的文件或目录
谢谢。python子进程不知道您的shell环境。因此,请提供命令的绝对路径,例如:
subprocess.call(["/sbin/tc", "filter", "show", "dev", "eth1"])
使用命令
查找shell中哪个tc
的确切位置 python子流程不知道您的shell环境。因此,请提供命令的绝对路径,例如:
subprocess.call(["/sbin/tc", "filter", "show", "dev", "eth1"])
使用命令
查找shell中哪个tc
的确切位置 python子流程不知道您的shell环境。因此,请提供命令的绝对路径,例如:
subprocess.call(["/sbin/tc", "filter", "show", "dev", "eth1"])
使用命令
查找shell中哪个tc
的确切位置 python子流程不知道您的shell环境。因此,请提供命令的绝对路径,例如:
subprocess.call(["/sbin/tc", "filter", "show", "dev", "eth1"])
使用命令
查找shell中哪个tc
的确切位置 如果不需要任何特殊控件,基本方法是使用os.system()
启动命令,就像在shell命令行中一样(如果在$path中,则无需指定完整路径):
这应该与您在cmd中所做的完全相同:
$ tc filter show dev eth1
如果不需要任何特殊控件,基本方法是使用
os.system()
启动命令,就像在shell命令行中一样(如果在$path中,则无需指定完整路径):
这应该与您在cmd中所做的完全相同:
$ tc filter show dev eth1
如果不需要任何特殊控件,基本方法是使用
os.system()
启动命令,就像在shell命令行中一样(如果在$path中,则无需指定完整路径):
这应该与您在cmd中所做的完全相同:
$ tc filter show dev eth1
如果不需要任何特殊控件,基本方法是使用
os.system()
启动命令,就像在shell命令行中一样(如果在$path中,则无需指定完整路径):
这应该与您在cmd中所做的完全相同:
$ tc filter show dev eth1
对我有用。你确定你的
路径中有tc
吗?为tc
提供完整路径吗?如果没有,它在终端中能工作吗?谢谢,你说得对。对我有用。你确定你的路径中有tc
吗?为tc
提供完整路径吗?如果没有,它在终端中能工作吗?谢谢,你说得对。对我有用。你确定你的路径中有tc
吗?为tc
提供完整路径吗?如果没有,它在终端中能工作吗?谢谢,你说得对。对我有用。你确定你的tc
路径中有tc
吗?为tc
提供完整路径吗?如果没有,它在终端中会工作吗?谢谢,你是对的。那根本不是真的@签出路径中可能没有/sbin
。如果它在那里,调用将工作,而不必添加完整路径。不过,这是明智的。还值得一提的是,您应该使用具有运行tc
命令所需权限的同一用户来运行Python。事实并非如此@签出路径中可能没有/sbin
。如果它在那里,调用将工作,而不必添加完整路径。不过,这是明智的。还值得一提的是,您应该使用具有运行tc
命令所需权限的同一用户来运行Python。事实并非如此@签出路径中可能没有/sbin
。如果它在那里,调用将工作,而不必添加完整路径。不过,这是明智的。还值得一提的是,您应该使用具有运行tc
命令所需权限的同一用户来运行Python。事实并非如此@签出路径中可能没有/sbin
。如果它在那里,调用将工作,而不必添加完整路径。不过,这是明智的。还值得一提的是,您应该使用具有运行tc
命令所需权限的同一用户运行Python。这将删除子进程提供的错误检查。它有什么好处?我不一定推荐使用os.system
。但在特定的基本需求中,它可能比使用具有更多参数的命令(如shell=True
)更有趣,以获得上下文的好处,…这样就消除了子流程提供的错误检查。它有什么好处?我不一定推荐使用os.system
。但在特定的基本需求中,它可能比使用具有更多参数的命令(如shell=True
)更有趣,以获得上下文的好处,…这样就消除了子流程提供的错误检查。它有什么好处?我不一定推荐使用os.system
。但在特定的基本需求中,它可能比使用具有更多参数的命令(如shell=True
)更有趣,以获得上下文的好处,…这样就消除了子流程提供的错误检查。它有什么好处?我不一定推荐使用os.system
。但特别是基本需求,它可能更有趣