Kill:SIGSTOP:bashスクリプトの誤った信号仕様エラー

Kill:SIGSTOP:bashスクリプトの誤った信号仕様エラー

killコマンドラインで使用すると機能します。

kill -SIGSTOP 1234

ただし、bashスクリプトファイルで使用すると、次のエラーが発生します。

kill: SIGSTOP: invalid signal specification

shファイルは

#!/bin/sh
kill -SIGSTOP 1234

killBashスクリプトでどのように使用しますか?私はこれを試しました:

#!/bin/sh
/bin/bash -c "kill -SIGSTOP 1234"

しかし、うまくいきません。

ベストアンサー1

これ標準(POSIX)構文例:

kill -s STOP "$pid"

つまり、SIGプレフィックスはありません。一部のシェル実装はそれを拡張としてサポートしていますが、これは標準でも移植可能でもありませんkill -s SIGSTOPkill -SIGSTOP

UNIX仕様(POSIX + XSI)では、以下も受け入れます。

kill -STOP "$pid"

そして

kill -19 "$pid"

ただし、どのシグナル番号もSIGSTOP指定されておらず、システム間または同じシステムのアーキテクチャ間で異なる可能性があるため、避けるべきです。

おすすめ記事