Nohup error


 
Thread Tools Search this Thread
Operating Systems Solaris Nohup error
# 1  
Old 08-30-2017
Nohup error

Hi,

I tried to run a script as a back end process and getting below error for nohup command in solaris10.

Any help will be great.

Code:
server1# nohup (time ./genrep) > genrep.log 2>&1
ksh: syntax error: `(' unexpected

Able to run genrep a standalone but getting error when i try with time using nohup.
# 2  
Old 08-30-2017
Why are you trying to run the backend process in a sub-shell?

Doesn't the following (without the parentheses) do what you need to do?:
Code:
nohup time ./genrep > genrep.log 2>&1

# 3  
Old 09-01-2017
Quote:
Originally Posted by Don Cragun
Why are you trying to run the backend process in a sub-shell?

Doesn't the following (without the parentheses) do what you need to do?:
Code:
nohup time ./genrep > genrep.log 2>&1

Thanks Don.

when i execute that and logout the script gets disconnected. Am i missing anything here.

Idea is to execute the script in back end even though i logout my session. so trying to execute as below
Code:
nohup time ./genrep > genrep.log 2>&1 &


Last edited by phanidhar6039; 09-01-2017 at 11:44 AM.. Reason: missed code
# 4  
Old 09-01-2017
First, time is a shell builtin and likely won't work in that context. You might have to do something like ksh -c "time ./gengrep"

Also, I'm not sure if stdin is redirected.

Also, if you're using ksh, you should disown the process after you background it.

How about:

Code:
nohup ksh -c "./genrep" >/dev/null 2>/dev/null </dev/null & disown

This User Gave Thanks to Corona688 For This Post:
# 5  
Old 09-01-2017
Quote:
Originally Posted by Corona688
First, time is a shell builtin and likely won't work in that context. You might have to do something like ksh -c "time ./gengrep"

Also, I'm not sure if stdin is redirected.

Also, if you're using ksh, you should disown the process after you background it.

How about:

Code:
nohup ksh -c "./genrep" >/dev/null 2>/dev/null </dev/null & disown

In ksh, time isn't just a shell built-in; it's a shell keyword. (I'm sure Corona688 understands the difference, but for other readers who may not, it matters when you want to time a pipeline consisting of more than one process. In a shell where time is a keyword:
Code:
time a | b | c

will give you timing results for the entire pipeline. In a shell were time is a built-in, that command will just give you timing results for the execution of a; not the entire pipeline.) The POSIX standards allow time to be either a keyword or a built-in.

Note also that disown with no operands will disown all active background jobs started by the shell; not just the most recently started background job. If that isn't what you want, you might want to try something more like:
Code:
nohup ksh -c "time ./genrep" < /dev/null > genrep.log 2>&1 & disown $!

This User Gave Thanks to Don Cragun For This Post:
# 6  
Old 09-02-2017
Beware that the non POSIX "disown" utility is not available to the OP who is running Solaris 10. "disown" is only implemented in Solaris 11.

In any case, "disown" is not required here, being redundant. The "nohup" call is already disconnecting the launched process from the running session so there is no reason to try to do it twice.
This User Gave Thanks to jlliagre For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Error running a script in nohup mode

Hi, running this script in normal mode, no error occours #!/usr/bin/ksh VALUE=0 SUBJECT='sub' ADDRESSES="aaa@gmail.com" BODY='body' while true do COUNT=$(tail -2500 /log/file.log | grep -i "error" | wc -l) if ; then echo "$BODY" | mailx -s "$SUBJECT" "$ADDRESSES"... (3 Replies)
Discussion started by: nash83
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

3. Shell Programming and Scripting

How get program name that produced an IO error redirected to a LOG in a nohup command?

Good afternoon, I'm have program that executes in background another programs. The main program would be programA and the programs executed by the main one, would be program1a, program1b and program1c. I need the programs to continue the execution no matter if the shell connection is lost,... (6 Replies)
Discussion started by: enriquegm82
6 Replies

4. Shell Programming and Scripting

Error while running script using nohup

Hi, I am running the below script. When i run the script normally it executes fine but when i run the same script using nohup it throws an error as getStatus.sh: syntax error at line 3: `(' unexpected . Can you let me know why it is so? while do . $(dirname $0)/include.sh cd... (2 Replies)
Discussion started by: vignesh53
2 Replies

5. UNIX for Dummies Questions & Answers

When we need nohup

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

6. Shell Programming and Scripting

nohup standerd error

hi, im using nohup command to execute one script. in the nohup.out im getting standerd output as well as standerd error in it. i want standerd output and error in nohup.out and only standerd error in error.txt file. im using command like following nohup sh test.sh 2>error.txt & ... (5 Replies)
Discussion started by: arvindng
5 Replies

7. UNIX for Dummies Questions & Answers

nohup - help!

I find that if I use nohup (in bourne shell script) then all the interactive parts in my code are gone hidden... e.g., the places asking input from the user (such as ckyorn) will not be displayed. This is no good. Is there a way to use nohup (or similar utility) and meanwhile, to keep the... (9 Replies)
Discussion started by: bluemoon1
9 Replies

8. UNIX for Advanced & Expert Users

Help on nohup

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

9. UNIX for Dummies Questions & Answers

Nohup

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

10. Shell Programming and Scripting

error piping nohup to /dev/null

Hi, I have a script as follows: #!/bin/sh nohup ./my_program >& /dev/null & However, i get a "Generated or received a file descriptor number that is not valid" whenever I run it. running the command up in prompt is ok though. if i change the first line to #!/bin/csh i get a then:... (4 Replies)
Discussion started by: mochi
4 Replies
Login or Register to Ask a Question