我想做这样的事情:
program='java'
ssh bob@mycomputer "pkill -f $program; echo 'Done!'";
但是,似乎pkill
正在杀死我的 ssh(我从未见过Done!
)。如果我pkill
用其他东西(比如pwd
)替换,它会按预期工作。
我想做这样的事情:
program='java'
ssh bob@mycomputer "pkill -f $program; echo 'Done!'";
但是,似乎pkill
正在杀死我的 ssh(我从未见过Done!
)。如果我pkill
用其他东西(比如pwd
)替换,它会按预期工作。
好吧,这里似乎真的是一个很好的案例。该-f
标志使用终端的完整路径,如果它无法获取该进程,则它会终止它可能喜欢的所有进程,pkill -f /
其中包括 ssh。参考这里。
如果您尝试不使用 pkill,-f
则它可以工作。您还可以检查 ssh 详细信息 (ssh -v) 以查看后台发生的情况。
希望能帮助到你。