ジョブフローが呼び出すスクリプトジョブをバックグラウンドで実行する方法
回答済みジョブフローから、あるプログラムを起動するスクリプトジョブを呼び出したいと考えています。
起動プログラムは常駐し応答が返ってこないため、スクリプトジョブからバックグラウンドで起動するようにしましたが、ジョブフローに応答が返ってこない状態です。
ジョブフローに応答が返るようにするにはどのようにすればよろしいでしょうか?
参考(スクリプトジョブ)
------------------------------------
#!/bin/bash
#eval $1 &
#nohup $1 &
$1 &
------------------------------------
※$1にプログラム名が指定されます。
以上よろしくお願いします。
-
正式なコメント
フィックスポイントの高橋です。
疑似端末を閉じることができずに終了を待っている可能性が考えられます。たとえば以下のように、スクリプトジョブから常駐するプログラムを起動する際に、プロセスの標準入出力を切り離すようにして試してみていただけますでしょうか。
#!/bin/bash
$1 0<&- 1>&- 2>&- &また、場合によっては nohup や setsid コマンドと組み合わせる必要があるかもしれません。
setsid $1 0<&- 1>&- 2>&- &
このあたりは起動するプログラムによって振る舞いが変わる可能性がありますので、実際に試してご確認いただくのがよいかと思います。
参考になさってみてください。
以上、よろしくお願いいたします。
コメントアクション
サインインしてコメントを残してください。
コメント
2件のコメント