Inside a shell script it is hard to determine if it was started by the nohup utility. However, if STDOUT or STDERR for your script is a TTY device, you will know that it was not started by nohup. If being immune to SIGHUP signals and not having STDOUT directed to a TTY device and not having STDERR directed to a TTY device is sufficient for your script to continue running, the following code may help:
Code:
#!/bin/ksh
trap '' HUP
if [ "x$(tty <&1)" != "xnot a tty" ] || [ "x$(tty <&2)" != "xnot a tty" ]
then printf '%s: This script must be started by "nohup %s ..."\n' "$0" "$0"
exit 1
fi
printf '%s SIGHUP ignored and STDIN & STDERR directed to non-TTYs\n' "$0"
. . . other shell commands . . .
This was written and tested with the Korn shell, but should work with bash, ksh, or sh with no changes. It won't work with csh or similar shells.
Hi all,
I am not sure whether this is the right place to ask this question...:)
I am working in Informatica PowerCenter 8.1.1 tool and my server is on UNIX. I have got a shell script to copy files from one folder to another.
When I run the script directly from UNIX prompt it is taking 60... (0 Replies)
I want to know how to use a nohup command in the script........
I have to run following command
nohup /tmp/app/statuscheck.sh &
After typing this command I will type ctrl D to come to the prompt and the that command will run in backround.
Even after pressing & the command is not... (3 Replies)
Hi,
I have a script that finds the application logs from the previous day and sends it to another server via ftp.
The code is something like this:
yest_date=`TZ=CST+24 date "+%b %d"`
logdir=/app/logs
logs=app*.log
tmpdir=/tmp
cd $logdir
for i in `ls -1 $logs`
do
chkstr=`ls -1l $i | grep... (2 Replies)
This is the code:
while test 1 -eq 1
do
read a
$a
if test $a = stop
then
break
fi
done
I read a command on every loop an execute it.
I check if the string equals the word stop to end the loop,but it say that I gave too many arguments to test.
For example echo hello.
Now the... (1 Reply)
I have a script in which i want to print absolute path of the same script irrespective of path from where i run script.
I am using
test.sh:
echo "pwd : `pwd`"
echo "script name: $0"
echo "dirname: `dirname $0`"
when i run script from /my/test/dir/struct as ../test.sh the output i... (10 Replies)
Hi, I have written a script and placed in an application and the script can be executed manually only. But somehow one of the method in the script is being called and bringing the application down. But we are not able to find any instance of script running.
Is there a way to findout whether the... (1 Reply)
HI,
I have a file serverlist in that all host names are placed.
i have written a small script
#./testping
#! /bin/bash
for i in `cat serverlist`
do
ping $i >> output.txt
done
so now it creates a file output.txt till here fine..
now each time i run this script the output file... (4 Replies)
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)
Appreciate help for the below issue.
Im using below code.....I dont want to attach the logs when I ran the perl twice...I just want to take backup with today date and generate new logs...What I need to do for the below scirpt..............
1)if logs exist it should move the logs with extention... (1 Reply)
Discussion started by: Sanjeev G
1 Replies
LEARN ABOUT OSX
nohup
NOHUP(1) BSD General Commands Manual NOHUP(1)NAME
nohup -- invoke a utility immune to hangups
SYNOPSIS
nohup [--] utility [arguments]
DESCRIPTION
The nohup utility invokes utility with its arguments and at this time sets the signal SIGHUP to be ignored. If the standard output is a ter-
minal, the standard output is appended to the file nohup.out in the current directory. If standard error is a terminal, it is directed to
the same place as the standard output.
Some shells may provide a builtin nohup command which is similar or identical to this utility. Consult the builtin(1) manual page.
ENVIRONMENT
The following variables are utilized by nohup:
HOME If the output file nohup.out cannot be created in the current directory, the nohup utility uses the directory named by HOME to create
the file.
PATH Used to locate the requested utility if the name contains no '/' characters.
EXIT STATUS
The nohup utility exits with one of the following values:
126 The utility was found, but could not be invoked.
127 The utility could not be found or an error occurred in nohup.
Otherwise, the exit status of nohup will be that of utility.
SEE ALSO builtin(1), csh(1), signal(3)STANDARDS
The nohup utility is expected to be IEEE Std 1003.2 (``POSIX.2'') compatible.
BUGS
Two or more instances of nohup can append to the same file, which makes for a confusing output.
BSD July 19, 2001 BSD