Re: [CentOS] bash job control and signals

2012-08-30 Thread Theo Band
On 08/29/2012 11:57 PM, Stephen Harris wrote:
 On Wed, Aug 29, 2012 at 10:00:47PM +0200, Theo Band wrote:
 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?
 The magic phrase you're looking for is process group.  When you press
 control-Z a signal is sent to all the process in the process group, but
 when you send a kill it's only sent to one process.

 So
 % ps -o pgrp $your_process

 That'll tell you the process group.Then you kill -STOP -pgrp
 (note the negative ID sent to kill)

 That'll send a signal to all processes in the group


Thanks Stephen

That's exactly what my application does wrong. I will ask the vendor to
change the way they signal the external script. It's basically only
adding a dash before the signal and it works!
___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos


[CentOS] bash job control and signals

2012-08-29 Thread Theo Band
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
___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos


Re: [CentOS] bash job control and signals

2012-08-29 Thread Stephen Harris
On Wed, Aug 29, 2012 at 10:00:47PM +0200, Theo Band wrote:
 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?

The magic phrase you're looking for is process group.  When you press
control-Z a signal is sent to all the process in the process group, but
when you send a kill it's only sent to one process.

So
% ps -o pgrp $your_process

That'll tell you the process group.Then you kill -STOP -pgrp
(note the negative ID sent to kill)

That'll send a signal to all processes in the group

-- 

rgds
Stephen
___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos