Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

Determine running process

by manoj_speed (Prior)
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.

Replies are listed 'Best First'.
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"; } }


    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.


    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?

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

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (1)
As of 2021-10-18 03:49 GMT
Find Nodes?
    Voting Booth?
    My first memorable Perl project was:

    Results (72 votes). Check out past polls.