使用树莓派时注意到一些奇怪的事情。
使用不带选项的 pkill 允许我随后在同一行中运行其他命令,但如果我使用选项 -f,则后续命令将被忽略。有谁知道为什么?
$ ssh [email protected] "pkill -f blablabla ; echo yeaaaah"
[email protected]'s password:
$ ssh [email protected] "pkill blablabla ; echo yeaaaah"
[email protected]'s password:
yeaaaah
blablabla 进程是否存在都没有区别。
答案1
因为-f
允许pkill
匹配命令行中的任何位置,所以它blablabla
在远程 shell 的参数列表中匹配,并杀死它。
如果您改为运行,您可以看到发生了什么pgrep -af
:
$ ssh [email protected] "pgrep -af blablabla ; echo yeaaaah"
[email protected]'s password:
29223 bash -c pgrep -af blablabla ; echo yeaaaah
yeaaaah