0

私のシステムはUbuntu 10です

ここに私のコードがあります:

#!/bin/bash
pid = `ps -ef | grep process_string | /usr/bin/awk '{print $2}'`
`kill -9 $pid`

pidは process_string のプロセス ID です (一致するのは 1 つだけです)。

しかし、このshを実行すると、プロセスを強制終了しません

どうすれば解決できますか?

4

1 に答える 1

1
  1. 割り当ての両側にスペースを入れることはできません。この場合、 のpid引数=と の標準出力を使用して実行しようとしていますps -ef ...
  2. 2 行目は の出力を実行しようとしますがkill -9 $pid、それは望ましくありません。
  3. バックティックよりも使用する方が良い$(...)です。
 #!/bin/bash
 pid=$(ps -ef | grep process_string | /usr/bin/awk '{print $2}')
 kill -9 $pid

pgrep代わりに pid を取得したり、名前で直接 kill しpkillたりするために使用したい場合があります(名前が名前付きプログラムのすべてのインスタンスをkillallkill することを意味するため、最後のものには注意してください)。

于 2012-07-04T14:37:49.000 に答える