Sponsored Content
Top Forums Shell Programming and Scripting inbuilt nohup logic into the script Post 302403878 by pludi on Monday 15th of March 2010 03:45:52 AM
Old 03-15-2010
This might do what you want:
Code:
mynohup(){
# Close stdin, and make any read attempt an error
    if [ -t 0 ]
    then
        exec 0>/dev/null
    fi

# Redirect stdout to a file if it's a TTY
    if [ -t 1 ]
    then
        exec 1>nohup.out
        if [ $? -ne 0 ]
        then
            exec 1>$HOME/nohup.out
        fi
    fi

# Redirect stderr to stdout if it's a TTY
    if [ -t 2 ]
    then
        exec 2>&1
    fi

# Trap the HUP signal to ignore it
    trap : HUP
}

Save it in a file, source that in any script you want to ignore SIGHUP in, call the mynohup function (or whatever you want to call it) once, and you're good to go. Tested with ksh and bash, and modeled after the nohup shipped with the GNU coreutils.
 

2 More Discussions You Might Find Interesting

1. Solaris

inbuilt modem problem

when I use the on-board modem.........and I dial in I get the login prompt when I enter id and password it gives..........invalid login.... i hv sun fire 280R system pls help me urgently........i m frustated thx girish (3 Replies)
Discussion started by: girish_shukla
3 Replies

2. Shell Programming and Scripting

Saving nohup output to a file other than nohup.out

Shell : bash OS : Oracle Linux 6.4 I want to save the ouput of a nohup command to file other than nohup.out . Below are my 3 attempts. For both Attempt1 and Attempt2 , the redirection logs the output correctly to the output file. But I get the error "ignoring input and redirecting stderr to... (7 Replies)
Discussion started by: kraljic
7 Replies
machid(1)						      General Commands Manual							 machid(1)

NAME
machid: hp9000s200, hp9000s300, hp9000s400, hp9000s500, hp9000s700, hp9000s800, hp-mc680x0, hp-pa, pdp11, u370, u3b, u3b10, u3b2, u3b5, vax - provide truth value about processor type SYNOPSIS
DESCRIPTION
The following commands return a true value (exit code 0) if the a processor type matches the command name. Otherwise a false value (exit code nonzero) is returned. These commands are commonly used within makefiles and shell procedures to improve portability of applications (see make(1)). +-----------+-------------------------++--------+--------------------------+ |Command | True for ||Command | True for | +-----------+-------------------------++--------+--------------------------+ |hp9000s200 | Series 200 ||pdp11 | PDP-11/45 or PDP-11/70 | |hp9000s300 | Series 300 ||u3b | 3B20 computer | |hp9000s400 | Series 400 ||u3b2 | 3B2 computer | |hp9000s500 | Series 500 ||u3b5 | 3B5 computer | |hp9000s700 | Series 700 ||u3b10 | 3B10 computer | |hp9000s800 | Series 800 or 700 ||u370 | IBM System/370 computer | |hp-mc680x0 | Series 200, 300, or 400 ||vax | VAX-11/750 or VAX-11/780 | |hp-pa | Series 700 or 800 || | | +-----------+-------------------------++--------+--------------------------+ EXAMPLES
Given a shell script that must behave differently when run on an HP 9000 Series 700 or 800 system, select the correct code segment to be executed: WARNINGS
always returns true on both Series 800 and Series 700 systems. Therefore, when using this command in scripts to determine hardware type, always use both and in the appropriate sequence to ensure correct results (see machid(1) will no longer provide support for future machines beyond the Series 800 and Series 700 systems. Decisions should be based on the hardware and software configuration information returned by getconf(1). SEE ALSO
getconf(1), make(1), sh(1), test(1), true(1). machid(1)
All times are GMT -4. The time now is 01:54 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy