ラズベリーパイを使って奇妙なことを見つけました。
オプションなしで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
代わりに実行すると、何が起こっているかを確認できますpgrep -af
。
$ ssh [email protected] "pgrep -af blablabla ; echo yeaaaah"
[email protected]'s password:
29223 bash -c pgrep -af blablabla ; echo yeaaaah
yeaaaah