2013-09-23 68 views
0

我想使用Capistrano的部署新代码到Amazon EC2实例和突然,我得到这个错误:Capistrano的和EC2:SH:1:杀失败

servers: ["IP"] 
[IP] executing command 
*** [err :: IP] cat: 
*** [err :: IP] /home/deployer/fileto/current/tmp/pids/unicorn.pid 
*** [err :: IP] : No such file or directory 
*** [err :: IP] 
*** [err :: IP] sh: 1: kill: 
*** [err :: IP] Usage: kill [-s sigspec | -signum | -sigspec] [pid | job]... or 
*** [err :: IP] kill -l [exitstatus] 
*** [err :: IP] 
    command finished in 371ms 
failed: "sh -c 'kill -s USR2 `cat /home/deployer/project_name/current/tmp/pids/unicorn.pid`'" on IP 

两个小时前,我成功地部署代码,但现在当我尝试它时,我收到了此错误消息。

如果2小时前一切正常,那么实例和整个部署过程如何发生?

编辑:当我运行

杀-s USR2 cat /home/deployer/fileto/current/tmp/pids/unicorn.pid

我得到

cat: /home/deployer/fileto/current/tmp/pids/unicorn.pid: No such file or directory 
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec] 
+0

只是为了确保......在'tmp'内创建'pids'文件夹,如果它不存在,那么执行你的命令。还要检查文件系统权限,以便此进程在运行时可以创建'unicorn.pid'文件。 – suvankar

+0

“pids”文件夹存在,我如何检查权限? – user1946705

+0

'$ ls -ld directory'检查权限(也检查文件所有者)并提供写权限。 'sudo chmod -R 777 tmp' – suvankar

回答

0

这是需要停止部署错误条件?你可以添加||真到kill命令结束时,在kill命令之前添加:on_error =>继续执行任务,或在[-d /home/deployer/fileto/current/tmp/pids/unicorn.pid]前加上前缀。