2015-04-20 22 views
0

我试图执行下面的命令。未找到事件错误

ssh node1 "nohup sleep 66 &; echo $!" 

但我得到的错误:

-bash: !": event not found 
+0

我需要存储的进程id检查状态后 – Ravikanth

回答

0
ssh node1 'Pgrep -f sleep 66' 

解决问题

+1

请扩展您的答案:为什么你的答案解决了这个问题? –

+0

将上述命令的值存储在将存储睡眠66的进程ID的变量中。我们可以随时使用变量来检查进程ID状态。问题的隐藏是将远程机器的进程ID存储在变量中。所以我们可以使用:1)ssh node1'nohup sleep 66&'2)x(variable)='ssh node1'pgrep -f sleep 66' – Ravikanth

2

您应该使用单引号,以防止$!的解释:

ssh node1 'nohup sleep 66 &; echo $!' 

它还看起来像;是没有用的这里。这似乎工作:

ssh node1 'nohup sleep 66 & echo $!' 
+0

仍然没有工作 – Ravikanth

+0

庆典:-c:行0:近意外的语法错误令牌';' bash:-c:第0行:'nohup sleep 66&; echo $!' – Ravikanth

+0

不能使用单引号 – Ravikanth