Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- use strict;
- use warnings;
- our $screen_path = "/usr/local/bin/screen";
- our $irssi_path = "/usr/local/bin/irssi";
- our %valid_status = (
- Attached => 1,
- Detached => 1,
- Multi => 1,
- );
- my %screens = ();
- my $syscmd = "$screen_path -list";
- open(F, "$syscmd |");
- foreach my $line (<F>)
- {
- chomp $line;
- if($line =~ /^\s+(\d+\.\S*\.\S+)\s+\(([^)]+)\)$/)
- {
- $screens{$1} = $2;
- }
- }
- close F;
- my $has_screen = 0;
- while(my ($key, $val) = each %screens)
- {
- ++$has_screen and last if $valid_status{$val};
- }
- $syscmd = "$screen_path -wipe; $screen_path -d -m -U $irssi_path";
- system $syscmd unless $has_screen;
Add Comment
Please, Sign In to add comment