#!/usr/bin/perl use strict; use lib '/home/mjd/lib'; use MJD::Print; my $jobs = 0; our $COUNT_ONLY; while ($ARGV[0] =~ /^-(\w+)/) { shift; my $flag = $1; if ($flag eq 'n') { $COUNT_ONLY = 1; } else { usage("Unknown flag -$flag"); } } my %CONF = load_conf($CONFIG); my $spool = $CONF{spooldir}; my $curfile = "$spool/$CONF{curfile}"; my $cur_ino = (stat $curfile)[1] || -1; unless (opendir D, $spool) { die "Couldn't read spool directory $spool: $!; aborting"; } my @jobs = grep ! -l "$spool/$_" && -f _, grep !/^\./, readdir D; for my $file (sort {-M "$spool/$b" <=> -M "$spool/$a"} @jobs) { next if -l "$spool/$file" || ! -f _; printf "%s %9s %24s %9s\n", " ", "owner", "spooled", "size" unless $COUNT_ONLY || $::DID_HEADER++; my $ino = (stat _)[1]; my $size = -s _; my ($own_id, $date, $pid) = split /\./, $file; my $owner = getpwuid($own_id) || "#$own_id"; printf "%s %9s %24s %9d\n", ($ino == $cur_ino ? "*" : " "), $owner, scalar(localtime($date)), $size unless $COUNT_ONLY; $jobs++; } if ($COUNT_ONLY) { print $jobs, "\n"; } else { print "Queue empty.\n" if $jobs == 0; } sub usage { my $msg = shift; print STDERR "$msg\n"; print STDERR "Usage: $0 [-n]\n"; exit 1; }