2016-10-26 7 views
0

で実行する場合、私は同じように、バックグラウンドで実行中のスクリプトが動作しません。 "Hello World from invokeTest"と表示されますが、test.shは呼び出されません。起動サブシェルは、バックグラウンド

私の質問:? がループしながら、ノーならば、我々は完全に「

invokeTest.sh自体をスキップします(ただし、バックグラウンドで実行する必要があるtest.shことができるようにsu - insite1 -c" "から直接無限にtest.sh呼び出すにどのような方法があります?、どのように作成してくださいtest.shは、あなたがwhileループを含め、-c引数に任意のシェルコマンドを置くことができ、スクリプトなしでコマンドを実行しているについてのあなたの質問に答えるためにinvokeTest.sh

+0

'test.sh'が呼び出されていないことをどのように知っていますか?あなたはそれが失敗しているかどうかを区別することができますか、まったく呼び出されませんか? –

+1

'(execコマンド)'と 'command'だけに違いはありません。 – Barmar

+0

@thatotherguyエコー出力もログに出力するので、作成されたログは表示されません。はい、私は終了ステータスが表示されませんでしたが、 "echo hello"と同様に単純です。 – kingsmasher1

答えて

2

から呼び出され、あなたが書くことができるようにします。:

su - insite1 -c 'while :; do echo "Hello World" >> /tmp/invokeTest; /tmp/test.sh; done' & 
+0

ありがとう、これはクールですが、なぜinvokeTest.shのバックグラウンドでサブシェルの呼び出しがうまくいかなかったのか何か手掛かりですか? – kingsmasher1

+0

全く分かりません。 'su'を使うときにのみ起こりますか? 'su'を実行してもバックグラウンドで実行しないとどうなりますか? – Barmar

+0

'test.sh'は端末からの読み込みを試みますか?それがバックグラウンドにあるなら、それはそれを止めるでしょう。 – Barmar

関連する問題