Why the nohup-ed background process always is "stopped" ?

I let a script A call script B.
I used

 nohup a.sh &>/tmp/log &

In script A it calls B directly, without any redirecting or nohup or background.

However A is always "Stopped", while B is running correctly. Anybody knows why?
thanks!

-----Post Update-----

BTW, if I don't use nohup and backgrounding, it's OK. i.e. if I use

a.sh

directly. Everything is OK. I am totally confused.

I'm confused too. Unless a.sh is reading from the tty or stdin, it shouldn't stop. Can you post the code up until the time script B is called?

nohup a.sh >/tmp/log &

The script a.sh calls itself?

Maybe try.

nohup a.sh 2>&1>/tmp/log &

i.e. If your script is producing an error or asking a question you may need to capture all output. Pure guesswork until we see what is in the scripts.