Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Determine running process

by manoj_speed (Prior)
on Mar 13, 2009 at 09:40 UTC ( [id://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"; } }

    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
Domain Nodelet?
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?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (4)
As of 2024-04-20 00:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found