Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Determine running process

by manoj_speed (Priest)
on Mar 13, 2009 at 09:40 UTC ( #750355=perlquestion: print w/ replies, xml ) Need Help??
manoj_speed has asked for the wisdom of the Perl Monks concerning the following question:

Hi friend

Is there any way to programmatically determine if my current script is running in the background or foreground? My script is either run in the foreground or background, and I need to know the information.

Comment on Determine running process
Re: Determine running process
by andreas1234567 (Vicar) on Mar 13, 2009 at 09:44 UTC
Re: Determine running process
by leslie (Pilgrim) on Mar 13, 2009 at 12:57 UTC

    You can use this below code

    use strict; use warnings; use POSIX qw/getpgrp tcgetpgrp/; if (!open(TTY, "/dev/tty")) { print "no tty\n"; } else { my $tpgrp = tcgetpgrp(fileno(*TTY)); my $pgrp = getpgrp(); if ($tpgrp == $pgrp) { print "foreground\n"; } else { print "background\n"; } }

    tcgetpgrp:

    The tcgetpgrp() function will return the value of the pro- cess group ID of the foreground process group associated with the terminal. If there is no foreground process group, tcgetpgrp() returns a value greater than 1 that does not match the process group ID of any existing process group. The tcgetpgrp() function is allowed from a process that is a member of a background process group; however, the informa- tion may be subsequently changed by a process that is a member of a foreground process group.

    getpgrp():

    The getpgrp() function returns the process group ID of the calling process. Upon successful completion, these functions return the pro- cess group ID. Otherwise, getpgid() returns (pid_t)-1 and sets errno to indicate the error.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://750355]
Approved by wfsp
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (7)
As of 2014-12-27 22:31 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (177 votes), past polls