I want to suspend a script using a signal but that does not work as I want. I made an example script: $ cat script #!/bin/bash echo $$ gkrellm If run this script gkrellm starts up and I can use job control from the terminal to suspend the script (CTRL-Z) and resume it (fg or bg). If I suspend I can see that gkrellm freezes (that's why I choose gkrellm in this example): $ ./script 23632 --CTRL-Z-- [3]+ Stopped ./script $ fg ./script Next I want to do exactly the same but from another terminal using a signal: kill -SIGSTOP 23632 [3]+ Stopped ./script So the bash script is indeed suspended, but the gkrellm keeps running. I can of course signal SIGSTOP to gkrellm and then this gkrellm will suspend as well. I have however an application that suspends my script and I cannot change this application. I want all processes that are children also to become suspended. I tried to add a trap, but that did not work. Any idea how to make this work? Theo