我想做这样的事情:
program='java'
ssh bob@mycomputer "pkill -f $program; echo 'Done!'";
但是,似乎pkill
正在杀死我的ssh(我从未见过Done!
)。如果我用其他内容替换pkill
(比如pwd
),它会按预期工作。
答案 0 :(得分:2)
这里似乎真的很好。 -f
标志使用终端的完整路径,如果它无法获取进程,则它会杀死包含ssh的pkill -f /
所有进程。请参阅here。
如果您在没有-f
的情况下尝试pkill,那么它可以正常工作。
您还可以检查ssh verbose(ssh -v)以查看后台发生的情况。
希望它有所帮助。