多くの* nixマシンでkillコマンドを発行したいと思います。私はこのようなことをしようとしています:
rsh <remotemachine> ps -ef | grep <somepattern> | awk '{print $2}' | xargs n1 -t -i kill {}
ただし、リモートマシンではなく、ローカルマシンでkillコマンドが発行されます。私もこのようなことを試しました:
rsh <remotemachine> kill $(ps -ef | grep <somepattern> | awk '{print $2}')
しかし、それは私にとってもうまくいきません。
それを備えたマシンで作業していると仮定すると、pgrepやpkillなどのより具体的なユーティリティを使用することもできます。これは、grep、awk、またはxargsを使用する必要がないことを意味します。これは物事をかなり単純化するでしょう。
http://linux.about.com/library/cmd/blcmdl1_pkill.htm
rsh "remotemachine" pkillは、プロセス名が何であれ
ssh user @ someserver "ps -ef | grep | awk '{print $ 2}' | xargs n1 -t -i kill {}"
SSH以外のリモートコンソールの方法を使用することを拒否します。それは事実上どこにでもあります。
ランダムに脇に置いて、SSHを使用することをお勧めします。 RSHはパスワードを平文で送信し、SSHははるかに安全です。
いずれにせよ、ローカルシェルが解釈しようとしている文字をエスケープする必要があります。つまり、それらのパイプ。そして一重引用符。そしてドル記号。中括弧は大丈夫だと思いますが、私はおそらく妄想的で、これら2つを実行します。これを行わないと、RSHコマンドは最初のパイプにのみ渡され、そのコマンドの出力はローカルでgrep、awkなどにパイプされます。
これはイライラするようなコマンドです。これを試して:
rsh <remotemachine> ps -ef \| grep <somepattern> \| awk \'\{print \$2\}\' \| xargs n1 -t -i kill \{\}
-クリストファー・カレル
これは、taskkill、pskill、または別のコマンドを使用するWindowsマシンで可能です:)残念ながら、ssh、rsh、または別のリモートセッションツールを使用しないLinux/UNIXマシンでは不可能です。