为什么 pkill 会终止我的 SSH 会话?
Why does pkill kill my SSH session?
我想做这样的事情:
program='java'
ssh bob@mycomputer "pkill -f $program; echo 'Done!'";
但是,似乎 pkill
正在杀死我的 ssh(我从未见过 Done!
)。如果我用其他东西替换 pkill
(比如 pwd
),它会按预期工作。
嗯,这似乎是一个很好的案例。 -f
标志使用终端的完整路径,如果它无法获取进程,那么它会杀死它可能喜欢的所有进程 pkill -f /
,其中包括 ssh。参考 here.
如果你在没有 -f
的情况下尝试 pkill,那么它会起作用。
您还可以检查 ssh verbose (ssh -v) 以查看后台发生的情况。
希望对您有所帮助。
我想做这样的事情:
program='java'
ssh bob@mycomputer "pkill -f $program; echo 'Done!'";
但是,似乎 pkill
正在杀死我的 ssh(我从未见过 Done!
)。如果我用其他东西替换 pkill
(比如 pwd
),它会按预期工作。
嗯,这似乎是一个很好的案例。 -f
标志使用终端的完整路径,如果它无法获取进程,那么它会杀死它可能喜欢的所有进程 pkill -f /
,其中包括 ssh。参考 here.
如果你在没有 -f
的情况下尝试 pkill,那么它会起作用。
您还可以检查 ssh verbose (ssh -v) 以查看后台发生的情况。
希望对您有所帮助。