File perl-Proc-Simple.spec of Package perl-Proc-Simple

# spec file for package perl-Proc-Simple
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via

Name:           perl-Proc-Simple
Version:        1.32
Release:        0
%define cpan_name Proc-Simple
Summary:        Launch and Control Background Processes
License:        GPL-1.0+ or Artistic-1.0
Group:          Development/Libraries/Perl
Source1:        cpanspec.yml
BuildArch:      noarch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  perl
BuildRequires:  perl-macros

The Proc::Simple package provides objects mimicing real-life processes from
a user's point of view. A new process object is created by

   $myproc = Proc::Simple->new();

Either external programs or perl subroutines can be launched and controlled
as processes in the background.

A 10-second sleep process, for example, can be launched as an external
program as in

   $myproc->start("/bin/sleep 10");    # or
   $myproc->start("/bin/sleep", "10");

or as a perl subroutine, as in

   sub mysleep { sleep(shift); }    # Define mysleep()
   $myproc->start(\&mysleep, 10);   # Launch it.

or even as

   $myproc->start(sub { sleep(10); });

The _start_ Method returns immediately after starting the specified process
in background, i.e. there's no blocking. It returns _1_ if the process has
been launched successfully and _0_ if not.

The _poll_ method checks if the process is still running

   $running = $myproc->poll();

and returns _1_ if it is, _0_ if it's not. Finally,


terminates the process by sending it the SIGTERM signal. As an option,
another signal can be specified.


sends the SIGUSR1 signal to the running process. _kill_ returns _1_ if it
succeeds in sending the signal, _0_ if it doesn't.

The methods are discussed in more detail in the next section.

A destructor is provided so that a signal can be sent to the forked
processes automatically should the process object be destroyed or if the
process exits. By default this behaviour is turned off (see the
kill_on_destroy and signal_on_destroy methods).

%setup -q -n %{cpan_name}-%{version}
find . -type f -print0 | xargs -0 chmod 644

%{__perl} Makefile.PL INSTALLDIRS=vendor
%{__make} %{?_smp_mflags}

%{__make} test


%files -f %{name}.files
%doc Changes README