我想做这样的事情:
program='java'
ssh bob@mycomputer "pkill -f $program; echo 'Done!'";但是,似乎pkill正在扼杀我的ssh (我从未见过Done!)。如果我用其他东西(比如pwd)替换pkill,它会像预期的那样工作。
发布于 2016-08-30 03:49:28
这里看起来确实是一个很好的例子。ssh标志使用终端的完整路径,如果它不能获得进程,那么它会杀死所有可能的进程,比如pkill -f /,包括-f。请参阅here。
如果在不使用-f的情况下尝试pkill,那么它可以正常工作。您还可以检查ssh verbose (ssh -v)以查看后台发生了什么。
希望能有所帮助。
https://stackoverflow.com/questions/39213215
复制相似问题