【发布时间】:2017-01-05 21:30:04
【问题描述】:
我想做这样的事情:
program='java'
ssh bob@mycomputer "pkill -f $program; echo 'Done!'";
但是,pkill 似乎正在杀死我的 ssh(我从未见过 Done!)。如果我用其他东西(比如pwd)替换pkill,它会按预期工作。
【问题讨论】:
-
"pkill 返回一个终止 ssh 的非零退出代码..." 这不是它的工作原理。更有可能的是,pkill 正在杀死由 ssh 启动的 shell 实例以运行您的远程命令。
-
您可以使用
ssh bob@mycomputer "false; echo Done"轻松测试“返回非零终止 ssh”理论,看看会发生什么。 -
啊,好吧,我错了——但我的问题仍然存在。如何使 pkill 不删除 ssh ??
-
即使
pkill错误,您的“完成”也应该被执行。输出将完成!带有 pkill 抛出的错误。 -
我现在更新了问题。
标签: shell ssh remotecommand pkill