
私はこれをやっています、
[email protected] ~> ssh <machine> jps | gawk '$2 == "<process>" {print $1}' | xargs kill
kill: sending signal to 75797 failed: No such process
[email protected] ~> echo $?
123
しかし、こう言うとうまくいっている
ssh <machine> "jps | gawk '\$2 == \"<process>\" {print \$1}' | xargs kill "
どうしてこんなことに ?
答え1
2 番目のバージョンのコマンドは、コマンド全体 (「 .... 」内) をサーバーに送信してそこで実行します。1 番目のバージョンは、最初の部分のみをjps
サーバーに送信し、ローカル マシン上の出力を使用してコマンドの残りを実行します。