#!/usr/bin/perl
use common::sense;
use Glib qw/TRUE FALSE/;
$SIG{USR1} = \&on_usr1;
my $loop = Glib::MainLoop->new( 'default', FALSE );
$loop->run;
sub on_usr1 {
my $sig = shift;
say "somebody told me $sig";
}
####
$ ./t_signal.pl &
[1] 2637
$ kill -s USR1 2637
somebody told me USR1
$ kill -s USR1 2637
somebody told me USR1
$
####
#!/usr/bin/perl
use common::sense;
use Glib qw/TRUE FALSE/;
my $file_pipe = "pipes/$$".'_pipe';
system('mkfifo',$file_pipe)==0 or die $!;
my $p_read;
open $p_read,'<',$file_pipe or die $!;
$SIG{USR1} = \&on_usr1;
my $loop = Glib::MainLoop->new( 'default', FALSE );
$loop->run;
sub on_usr1 {
my $sig = shift;
say "somebody told me $sig";
}
####
$ ./t_signal_1.pl &
[1] 2638
$ kill -s USR1 2638
$
[1]+ User defined signal 1 ./t_signal_1.pl
$