Python中文
首页
教程
问答
标签
搜索
登录
注册
使用子进程延迟执行命令
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正试图使用子进程从python脚本执行此命令:<code>sleep 10 && sudo /etc/init.d/tractor-blade restart &</code></p> <p>我希望python脚本完成(返回代码0)。然后,10秒后,我希望命令被执行。</p> <p>这就是我所拥有的:</p> <pre><code>import sys, subprocess command = ['sleep', '10', '&&', 'sudo', '/etc/init.d/tractor-blade', 'restart' '&'] p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) # Catch stdout sys.stdout.flush() for line in iter(p.stdout.readline, b''): print(">>> " + line.rstrip()) </code></pre> <p>但事情就是这样:</p> <pre><code>>>> sleep: invalid time interval `&&' >>> sleep: invalid time interval `sudo' >>> sleep: invalid time interval `/etc/init.d/tractor-blade' >>> sleep: invalid time interval `restart' >>> sleep: invalid time interval `&' >>> Try `sleep --help' for more information. </code></pre> <p>我猜我的格式不对?</p> <p>我需要在执行命令之前完成python脚本,这就是为什么我要给命令添加延迟。我的sudoers允许使用NOPASSWD执行这个“拖拉机刀片”,因此不需要密码。</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>API的工作方式是,<code>command</code>中的第一个元素是<code>subprocess.Popen</code>将调用的程序。列表的其余部分被解析,然后作为参数输入到程序中。默认情况下,它们不会被解析为shell命令。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何为此数据帧创建散点图?
9 回答
如何为此编写Django模板
3 回答
如何为此表达式编写正则表达式?
5 回答
如何为步进电机选择合适的值?
2 回答
如何为每15分钟间隔的日期时间行(在新列中)添加标签?
9 回答
如何为每一列创建汇总表?
8 回答
如何为每一组groupbyPandas做滚动“得到假人”
2 回答
如何为每一行分别运行函数(python)?
10 回答
如何为每一行生成一个随机数?
3 回答
如何为每一轮将pytorch模型输出存储到numpy
1 回答
如何为每个.py-fi文件创建单独的zip文件
5 回答
如何为每个<li class=”“><a>找到最近的上述同级<li>?
5 回答
如何为每个CSV列生成特定的文件?
4 回答
如何为每个csv文件使用read_csv,即使它是空的?PythonPandas
10 回答
如何为每个CSV文件创建单独的Pandas数据帧并给它们起有意义的名称?
3 回答
如何为每个datetime和每个id创建一行?
5 回答
如何为每个Django型号选择赋予不同的颜色
5 回答
如何为每个Django模型实例安排一个周期性的芹菜任务?
7 回答
如何为每个Django视图设置一个装饰器?
1 回答
如何为每个for循环迭代分配变量
1 回答