10-10-2007
Perhaps you don't understand the point of nohup.
The purpose is to allow a process to be detached from a controlling terminal and allow the process to continue running and not be killed by the SIGHUP generated when the login session closes.
stdin is normally replaced by /dev/null.
It is deliberately not designed for an interactive environment, and does it's best to detach itself from an interactive environment.
When code calls "istty(0)" it will find that user input is not from an interactive terminal, if you have not redirected stdin, it will read exactly zero bytes from stdin.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi,
Using nohup it sends output automatically to $HOME/nohup.out - how do I direct this output to another named file instead, so I can run several scripts in the background at once, directing their outputs into individual log files?
Cheers (3 Replies)
Discussion started by: miwinter
3 Replies
2. UNIX for Advanced & Expert Users
Hi
I submitted a long running executable without using nohup. Now, is there any way I can assure to keep that process ON even if my session gets killed?
Thanks
Bobby (3 Replies)
Discussion started by: bobbyjohnz
3 Replies
3. Solaris
Hello All,
Here is a problem of NOHUP.
I am trying to run a process which needs to be up and running even if the session is closed. I tried running it with "nohup", but starngely it is not working, when i exit from the session the process is also getting killed?
plz help me in finding out... (4 Replies)
Discussion started by: shivamasam
4 Replies
4. AIX
I have a program which writes to nohup.out ...
over the time this nohup.out becomes a large file and i cannot read the contents of this file using a vi editor.... whe i do a vi nohup.out it gives an error insufficient memory....
do i need to clean this nohup.out periodically ( or compress it... (5 Replies)
Discussion started by: ramky79
5 Replies
5. Shell Programming and Scripting
Hello
I am running this script inst.sh
#!/bin/ksh
sqlplus -s username/password @temp.sql
----Here is my temp.sql
set serveroutput on
select instance_name from V$instance;
exit
When i run the script inst.sh on the command prompt...it runs fine...but
when i run it using... (5 Replies)
Discussion started by: njafri
5 Replies
6. UNIX for Dummies Questions & Answers
Hi,
I've read the man page on nohup.
But I still can't see what's the differences if
we just send a process to background versus
sending a nohup process to background.
eg:
myprocess &
vs
nohup myprocess &
Without nohup, myprocess would still run uninterruptible
at background... (2 Replies)
Discussion started by: ehchn1
2 Replies
7. UNIX for Dummies Questions & Answers
Hi,
We are trying to run a shell script using nohup command. But this scripts asks for user input (username and password). Once we enter credentials it should continue run in background.
Can someone please suggest how can we implement this? we can't modify .sh file since they are provided by... (5 Replies)
Discussion started by: blak
5 Replies
8. UNIX for Dummies Questions & Answers
Hi Every one , i wrote a script for nohpu ,which checks the service by using the port number and starts if it doesnt hear the port. It works good untill i colse the session. how to make it work even after closing the session .And aslo how to deamoize this script
#!/bin/bash
netstat -ptlen |... (2 Replies)
Discussion started by: vikatakavi
2 Replies
9. Shell Programming and Scripting
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
10. Shell Programming and Scripting
I have a script test1.ksh (Korn shell) and within that I am calling another script test2.ksh
test2.ksh runs for a pretty long time and hence wanted to execute as nohup from within test1.ksh
nohup ./test2.ksh
Question 1) dont think the above is working , although executing the nohup... (1 Reply)
Discussion started by: alldbest
1 Replies
SCRIPT(1) User Commands SCRIPT(1)
NAME
script - make typescript of terminal session
SYNOPSIS
script [options] [file]
DESCRIPTION
script makes a typescript of everything displayed on your terminal. It is useful for students who need a hardcopy record of an interactive
session as proof of an assignment, as the typescript file can be printed out later with lpr(1).
If the argument file is given, script saves the dialogue in this file. If no filename is given, the dialogue is saved in the file type-
script.
OPTIONS
-a, --append
Append the output to file or to typescript, retaining the prior contents.
-c, --command command
Run the command rather than an interactive shell. This makes it easy for a script to capture the output of a program that behaves
differently when its stdout is not a tty.
-e, --return
Return the exit code of the child process. Uses the same format as bash termination on signal termination exit code is 128+n.
-f, --flush
Flush output after each write. This is nice for telecooperation: one person does `mkfifo foo; script -f foo', and another can
supervise real-time what is being done using `cat foo'.
--force
Allow the default output destination, i.e. the typescript file, to be a hard or symbolic link. The command will follow a symbolic
link.
-q, --quiet
Be quiet (do not write start and done messages to standard output).
-t[file], --timing[=file]
Output timing data to standard error, or to file when given. This data contains two fields, separated by a space. The first field
indicates how much time elapsed since the previous output. The second field indicates how many characters were output this time.
This information can be used to replay typescripts with realistic typing and output delays.
-V, --version
Display version information and exit.
-h, --help
Display help text and exit.
NOTES
The script ends when the forked shell exits (a control-D for the Bourne shell (sh(1)), and exit, logout or control-d (if ignoreeof is not
set) for the C-shell, csh(1)).
Certain interactive commands, such as vi(1), create garbage in the typescript file. script works best with commands that do not manipulate
the screen, the results are meant to emulate a hardcopy terminal.
It is not recommended to run script in non-interactive shells. The inner shell of script is always interactive, and this could lead to
unexpected results. If you use script in the shell initialization file, you have to avoid entering an infinite loop. You can use for
example the .profile file, which is read by login shells only:
if test -t 0 ; then
script
exit
fi
You should also avoid use of script in command pipes, as script can read more input than you would expect.
ENVIRONMENT
The following environment variable is utilized by script:
SHELL If the variable SHELL exists, the shell forked by script will be that shell. If SHELL is not set, the Bourne shell is assumed.
(Most shells set this variable automatically).
SEE ALSO
csh(1) (for the history mechanism), scriptreplay(1)
HISTORY
The script command appeared in 3.0BSD.
BUGS
script places everything in the log file, including linefeeds and backspaces. This is not what the naive user expects.
script is primarily designed for interactive terminal sessions. When stdin is not a terminal (for example: echo foo | script), then the
session can hang, because the interactive shell within the script session misses EOF and script has no clue when to close the session. See
the NOTES section for more information.
AVAILABILITY
The script command is part of the util-linux package and is available from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils
/util-linux/>.
util-linux June 2014 SCRIPT(1)