App::Chart::Gtk2::Subprocess -- child process to run jobs
use App::Chart::Gtk2::Subprocess; my $subprocess = App::Chart::Gtk2::Subprocess->new;
A App::Chart::Gtk2::Subprocess is a child sub-process running chart --subprocess. That subprocess reads tasks from its standard input (in a length-delimited "Storable" format) and prints messages and PerlIO::via::EscStatus status strings to its stdout. The App::Chart::Gtk2::Subprocess sends a App::Chart::Gtk2::Job task to the subprocess then reads its output.
App::Chart::Gtk2::Subprocess
chart --subprocess
PerlIO::via::EscStatus
App::Chart::Gtk2::Job
App::Chart::Gtk2::Subprocess notices if the child dies because the output pipe closes. It then waits that child with waitpid. Glib::Child->watch_add is not used because in single thread mode it's implemented with a non-restart sigaction to stop the main loop poll, and it's a bit worrying to think how much third-party library code might not cope gracefully with EINTR.
waitpid
Glib::Child->watch_add
sigaction
App::Chart::Gtk2::Subprocess->new (key=>value,...)
Create and return a new subprocess. The process is running, but idle.
$subprocess->start_job ($job)
Start a App::Chart::Gtk2::Job on $subprocess. $subprocess must be idle. This is meant for use by App::Chart::Gtk2::JobQueue.
$subprocess
App::Chart::Gtk2::JobQueue
$subprocess->pid()
Return the process ID of $subprocess, or undef if no longer running.
$subprocess->stop()
Forcibly stop the process and any job running in it.
To install two_face, copy and paste the appropriate command in to your terminal.
cpanm
cpanm two_face
CPAN shell
perl -MCPAN -e shell install two_face
For more information on module installation, please visit the detailed CPAN module installation guide.