background jobs

Hi,
i have a problem with turning a job into backgrund.
When i enter this at the shell:

spice -b darlington.cir -r output.raw > screenout.tmp &

and then let me show the currently running jobs, i get the following output:

[2] + Suspended (tty output) spice -b darlington.cir -r output.raw > screenout.tmp

Why is the job suspended?? :confused:
Does somebody know how to solve this problem?

Thank you very much!
greetings

Please don't post duplicate threads in multiple forums. If somebody can offer you their assistance, they will - posting more than once will not yield a faster response! I have removed the duplicate post.

Please review the forum rules, in particular, rule 4.

EDIT: In response to the actual question, it is possible that the script/program is actually wanting input. On some OS's you can do "read foo &" and it will appear as suspended (tty output). I've seen this behaviour on Solaris (tcsh) before. e.g

% read foo &
[1] 7169
%	
[1]  + Stopped (tty output) read foo

Try running the command interactively without the "&" - does it prompt for any input?

Cheers
ZB

1 Like

I always believe error messages until they are proven wrong. I have to believe that job is suspended because it wants to write on the controlling terminal.

To be more specific, there are two signals used for background processes:
SIGTTIN background process attempting read
SIGTTOU background process attempting write

Both of these deal with reads and writes to the controlling terminal. In the case of a read, there is no option, the signal gets delivered to the process. In the call of a write, this is user configurable. "stty -tostop" will disable the generation of SIGTOU thus allowing a background process to write.

And ZB, are you sure it wasn't "suspended (tty input)"? Both messages can appear and I don't recall a shell mistaking one state for the other. But I don't use tcsh either.

This was a Solaris 8 for i386 box... I usually use ksh, but I saw this problem on another site, and replicated it on my old sun box. I've since upgraded it to Solaris 9 - I'll check it out when I get home. On Linux, the same command yields the expected result of "stopped (tty input)" as you'd expect.

I know that zsh had a few bugs regarding this too - but I'm not sure if the OP uses the Z shell.

Which shell and OS are you using, qsi?

EDIT: Just tried under Solaris 9 - using ksh:

$ read foo &
[1] 360
$
[1] + Stopped (SIGTTOU) read foo &

Cheers
ZB

Hi,
without the "&" the program runs; it doesn't promt for input. I also tried Perderabo's hint, but the program also got suspended...

My OS is Solaris 8. I use the tcsh. But it seems to be the same problem in Bourne-Shell. I built the command-line into a shell-script, which i run under sh, the script also got suspended (also because of spice).

greetings