in reply to Re^2: Background process
in thread Background process

Yes. It is very useful. I'm surprised that no one has thought to back port this to *nix.

The only fly in the ointment is that it truncates the potentially 32-bit return value from the executable to 8-bits.


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

Replies are listed 'Best First'.
Re^4: Background process
by DeadPoet (Scribe) on Jan 11, 2011 at 19:40 UTC
    Silly example, but might help.
    #! perl -slw use POSIX qw(:errno_h :sys_wait_h); use constant { RET_SUCCESS => 1, RET_FAILURE => 0, }; sub check_process_signal { my $sig = shift; if ( WIFEXITED($sig) ) { print q{process normal exit}; return RET_SUCCESS; } elsif ( WIFSIGNALED($sig) ) { print q{process terminated because of signal}; return RET_FAILURE; } elsif ( WIFSTOPPED($sig) ) { print q{process is stopped}; return RET_FAILURE; } return RET_SUCCESS; } my $pid = #run your command however.... waitpid( $pid, 0 ); if ( check_process_signal( $? ) ) { ## success... } else { ## failure ... }

    Coded on the fly sorry if there are any errors.

    --Poet