From 3ab9de8d44d3d74d1d2cd86d04a174461ff819fa Mon Sep 17 00:00:00 2001 From: Steve Peters Date: Wed, 19 Apr 2006 16:32:26 +0000 Subject: [PATCH] Changes to perlfaq8 "How do I find out if I'm running interactively or not?" suggested by Slaven Rezic in RT #38901: perlfaq8 correction p4raw-id: //depot/perl@27905 --- pod/perlfaq8.pod | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/pod/perlfaq8.pod b/pod/perlfaq8.pod index 06494e2..d5c63da 100644 --- a/pod/perlfaq8.pod +++ b/pod/perlfaq8.pod @@ -1005,13 +1005,19 @@ On POSIX systems, you can test whether your own process group matches the current process group of your controlling terminal as follows: use POSIX qw/getpgrp tcgetpgrp/; - open(TTY, "/dev/tty") or die $!; - $tpgrp = tcgetpgrp(fileno(*TTY)); - $pgrp = getpgrp(); - if ($tpgrp == $pgrp) { - print "foreground\n"; + + # Some POSIX systems, such as Linux, can be + # without a /dev/tty at boot time. + if (!open(TTY, "/dev/tty")) { + print "no tty\n"; } else { - print "background\n"; + $tpgrp = tcgetpgrp(fileno(*TTY)); + $pgrp = getpgrp(); + if ($tpgrp == $pgrp) { + print "foreground\n"; + } else { + print "background\n"; + } } =head2 How do I timeout a slow event? -- 2.7.4