Bashファイルで-9の問題を終了します。

Bashファイルで-9の問題を終了します。

Centos 6.8で2行のbashスクリプトファイルを作成しました。

#! /bin/sh
pid= ps -ef | grep -i 'adminserver' | grep -v grep | awk '{print $2}'
kill -9 $pid

スクリプトを実行すると、次の結果が表示されます。

kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]

ベストアンサー1

pid=空白の後にはpid変数が空の文字列に設定されます。残りの行は単にパイプを実行し、結果を出力します(リダイレクトされない限り端末で可能)。$pid空だったのでkill後で文句を言いました。

コマンドの出力をキャプチャするには、$(...)を使用します。

pid=$( ps -ef | ... )

pkillただし、実行したい操作に使用する方が良いです。

pkill adminserver

pkillマニュアルを参照してください。

KILLまた、可能であればこの信号を使用しません。たとえば、いつ-9プロセスを終了しないでください。」。

おすすめ記事