Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Determine running process

by manoj_speed (Vicar)
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 avoiding work at the Monastery: (17)
As of 2015-07-01 15:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (6 votes), past polls