http://qs1969.pair.com?node_id=999403


in reply to Re^3: perl alarms not working as expected
in thread perl alarms not working as expected

Thank You @betterworld for the line: system("sleep 10 3>$tmpnam"); what does 3>$tmpnam do? If I need to replace the sleep 10 with a call to script that needs arguments, how would I do that? i.e: system("/opt/bea/domains/fsa/scripts/start.sh fsaAs02 -q 3>$tmpnam");

  • Comment on Re^4: perl alarms not working as expected

Replies are listed 'Best First'.
Re^5: perl alarms not working as expected
by betterworld (Curate) on Oct 16, 2012 at 22:08 UTC
    system("/opt/bea/domains/fsa/scripts/start.sh fsaAs02 -q 3>$tmpnam");

    Yes, that seems right.

    Shell redirections:

    "command > file" redirects standard output into a file. Standard output is file descriptor 1.

    "command < file" redirects standard input from a file. Standard input is file descriptor 0.

    Standard error is file descriptor 2, and the first free descriptor is usually 3. Therefore I used "command 3> file" so that the (dummy) file descriptor 3 is connected to a temporary file, which was created using File::Temp.

    In my experience, open files are a very nice means to keep track of a running process. The command "fuser" can be used to find the processes that are connected to a file. "fuser" will kill these processes when "-k" is specified.