我正在使用Fabric编写一个脚本,它需要远程终止一个进程。
(这意味着该命令最终以/bin/bash命令的形式执行)
我目前拥有的代码如下:
在我有一个kill.sh文件中
/bin/kill $(ps -ef | grep multiserver.jar | grep -v bin/sh | grep -v /bin/bash | grep -v sh | grep python | grep -v /usr/bin/java | grep -v /usr/bin/python | grep -v sh | awk '{print $2}')我使用以下命令在远程主机上的Fabric中运行它
local("scp " + "kill.sh " + user +"@" + server_address + ":" + directory)
run ("chmod u+x kill.sh")
run("./kill.sh")但是,我得到了以下错误消息
out: Usage:
[] out: kill [options] <pid> [...]
Fatal error: run() received nonzero return code 1 while executing!
Requested: ./kill.sh
Executed: /bin/bash -l -c "cd ... && ./kill.sh"有人知道我做错了什么吗?
发布于 2013-06-22 03:36:01
在使用fabric读取日志来解决this issue问题时,我编写了杀死远程进程的命令:
with settings(warn_only=True):
sudo("kill -9 `ps aux | <pipeline of greps> | awk '{print $2}'`")希望这能有所帮助。
https://stackoverflow.com/questions/16877655
复制相似问题