SIGSTOPとSIGKILLは、プロセスで捕捉および処理できない2つの信号です。キャッチして処理できる点を除いてSIGTSTP似SIGSTOPています。
SIGSTOPそしてSIGTSTP信号がの準備ができて、そのトラックにプロセスを停止しますSIGCONT。そのプロセスを送信するSIGTERMと、プロセスは実行されていないため、終了するコードを実行できません。
(SIGTTINおよびがありますSIGTTOU。これは、バックグラウンドジョブが端末に読み書きしようとするときにTTYレイヤーによって生成される信号SIGTSTPです。この回答の残りの部分ではこれら2つを無視します。)
あなたは、CtrlZプロセスAに送信SIGTSTPすることによってどのような方法で、特別に処理されていないよう、rsyslogdそれは単に保留中のプロセスを中断して、SIGCONTまたはSIGKILL。
ここでの解決策は、プロセスがシグナルを受信して処理できるように、SIGCONT後に送信SIGTERMすることです。
例:
sleep 999 &
# Assume we got PID 456 for this process
kill -TSTP 456    # Suspend the process (nicely)
kill -TERM 456    # Terminate the process (nicely). Nothing happens
kill -CONT 456    # Continue the process so it can exit cleanly
GNU Cライブラリのドキュメントはこれを非常によく説明していると思います(私の強調)。
  プロセスが停止している間は、SIGKILLシグナルと(明らかに)SIGCONTシグナルを除いて、プロセスが続行されるまでプロセスにシグナルを配信できません。シグナルは保留中としてマークされますが、プロセスが続行されるまで配信されません。信号は常にプロセスの終了を引き起こし、遮断取り扱うか、無視することはできません。を無視することもできますが、停止した場合は常にプロセスが続行されます。プロセスにシグナルを送信すると、そのプロセスの保留中の停止シグナルはすべて破棄されます。同様に、プロセスの保留信号は、停止信号を受信すると破棄されますSIGKILLSIGCONTSIGCONTSIGCONT
               
              
kill -15送信済みのメッセージを処理しました」。