bugfix> shell > 投稿

ポート番号として入力引数を使用しています。そして、実行中のすべてのプロセスを強制終了します。

#!/bin/bash
ps -ef | grep $1 |  grep -v -F 'grep'| awk '{print $2}' | xargs kill
-9
echo Killed the process

私が得る出力:

./killport 4504
Killed

殺されたかどうかにかかわらず

回答 1 件
  • The xargs utility exits with a value of 0 if no error occurs. If utility cannot be found, xargs exits with a value of 127, otherwise if utility cannot be exe- cuted, xargs exits with a value of 126. If any other error occurs, xargs exits with a value of 1.

    ここでの問題は、xyzの内部でkillを使用しているため、連鎖 && で戻り値をチェックしている場合でもあると思います  など、それはまだ0で終了します...ので、あなたはそれをそのように検出することはできません...

    書かれているように、それは常に Killed the process を印刷します

あなたの答え