Se você tiver um processo em estado suspenso, ele não acionará nenhum sinal (diferente de SIGKILL ) até que continue. Um sinal pendente será enfileirado no processo.
Então, dependendo da sua situação, você precisará enviar:
-
SIGTERMe, em seguida,SIGCONT -
SIGCONT
Claro que isso pode ser simplificado para
if (condition) { send SIGTERM }
send SIGCONT