モジュールの開始と停止を制御するシェル スクリプトを作成しました。停止コマンドの結果が予期しないものになるまで、すべてが正常に見えます。
コマンドを使用してkill -s SIGKILL -- -gpid
、プロセスのグループを強制終了します。を使用して、/bin/sh
このようなコマンドを実行します
/bin/sh -c "kill -s SIGKILL -- -gpid"
エラーを返した
/bin/sh: 0行目: kill: SIGKILL: 無効なシグナル指定
/bin/sh
次に、をに置き換えた/bin/bash
ので、コマンドは
/bin/bash -c "kill -s SIGKILL -- -gpid"
エラーは何も返されませんでした。したがって、bash と sh の違いが結果の原因であるという説明を結論付けます。ただし、を調べls
た/bin/sh
ところ、/bin/sh
は へのシンボリック リンク/bin/bash
であるため、コマンドは同じである必要があります。
コマンド構文kill -s SIGKILL
が推奨される構文にないことがわかりましたkill -s KILL
。
だから私はSIGKILLをKILLに置き換えました、コマンドは
/bin/sh -c "kill -s KILL -- -gpid"
エラーは何も返されませんでした。上記のように、誰でもこのケースを説明できます。