我正在使用pythonfabric将二进制文件部署到ec2服务器上,并尝试在后台(子shell)运行它们。在
所有用于执行本地操作、放置文件和执行远程命令的fabric命令都可以正常工作。我遇到的问题是当我试图运行二进制文件时。在
with cd("deploy"):
run('mkdir log')
sudo('iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080', user="root")
result = sudo('./dbserver &', user="root") # <---- This line
print result
if result.failed:
print "Running dbserver failed"
else:
print "DBServer now running server" # this gets printed despite the binary not running
在我登录到服务器后,ps aux | grep dbserver
没有显示任何内容。如何让fabric执行二进制文件?从shell执行的同一个命令./dbserver &
完全符合我的要求。谢谢。在
这就像是针对TTY问题创建的,和/或您试图在后台处理一个进程。在
这两个问题都在常见问题解答的以下两个标题下进行了讨论:
http://www.fabfile.org/faq.html#init-scripts-don-t-work
http://www.fabfile.org/faq.html#why-can-t-i-run-programs-in-the-background-with-it-makes-fabric-hang
试试做这个:
相关问题 更多 >
编程相关推荐