Zoidberg::Contractor - Module to manage jobs
use Zoidberg::Contractor; my $c = Zoidberg::Contractor->new(); $c->shell_list( [qw(cat ./log)], '|', [qw(grep -i error)] );
Zoidberg inherits from this module, it manages jobs.
It uses Zoidberg::StringParser.
Also it defines Zoidberg::Job and subclasses.
FIXME lots of documentation
Simple constructor, calls shell_init().
shell_init()
Initialises things like hashes with signal names and sets terminal control. Should be called before usage when the constructor is overloaded.
Recursively calls the round_up() function of all current jobs.
round_up()
Executes a list of jobs and logic operators.
Executes a single job.
Checks for jobs that are finished and removes them from the job list.
Returns a job object based on the (numeric) id.
(Note that the job list is un-ordered, so the id and the index are not usually identical.)
Returns a job object based on a string. The following formats are supported:
Job with id integer
Current job
Previous job
Last job matching string
Last job starting with string
Returns the signal number for a named signal or undef if no such signal exists.
Jobs are objects of the class Zoidberg::Job or a subclass of this class.
Zoidberg::Job
This object AUTOLOADS methods to process signals. For example:
$job->TERM(); # is identical to $job->kill('TERM');
The job obbjects have the following methods:
Simple constructor.
Execute the job.
Recursively kill the job, ends all child processes forcefully.
Take terminal control and run this job in the foreground.
Run this job in the background.
Sends $signal (numeric or named) to all child processes belonging to this job; $signal defaults to SIGTERM.
If the boolean $wipe_list is set all jobs pending in the same logic list are removed.
Set local environment for the current job. Can't be set after the job has started.
Set redirections for the current job. Can't be set after the job has started.
Jaap Karssenberg, <pardus@cpan.org>
Raoul Zwart, <rlzwart@cpan.org>
Copyright (c) 2011 Jaap G Karssenberg and Joel Berger. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
zoiddevel(1), Zoidberg, Zoidberg::StringParser
To install Zoidberg, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Zoidberg
CPAN shell
perl -MCPAN -e shell install Zoidberg
For more information on module installation, please visit the detailed CPAN module installation guide.