This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Harry,
> Well, I have good news on that. I tried an experiment with a
> modification of my perl script:
>
> #! /usr/bin/perl
> use POSIX;
>
> $SIG{'CONT'} = 'IGNORE';
> $sigset = POSIX::SigSet->new(SIGCONT);
> $old_sigset = POSIX::SigSet->new;
> sigprocmask(SIG_BLOCK, $sigset, $old_sigset);
> for ( $i=0; $i < 60; $i++) {
> print "$i\n";
> sleep 1;
> }
>
> I sent it a "SIGSTOP", which stopped it, and then a "SIGCONT", and it
> took off. Looking at the kernel code the kernel is the one that
> restarts a stopped process.
Whoops! I should have used the word "block" instead of "ignore".
My Bad.
What happens with your script if you change it to block SIGCONT?
Regards,
Steve Emmerson
Ticket Details
===================
Ticket ID: ORI-704946
Department: Support LDM
Priority: Normal
Status: On Hold