サブスクリプトをバックグラウンド実行したまま次の処理を実行する方法について – プログラミング – Home

サブスクリプトをバックグラウンド実行し...
 
通知
すべてクリア

サブスクリプトをバックグラウンド実行したまま次の処理を実行する方法について


わかば
 わかば
(@わかば)
ゲスト
結合: 17年前
投稿: 4
 

わかばです。

WWWアプリケーションを作成しております。
CGIでサブスクリプトをバックグラウンド実行させたままCGIの次の処理を実行する方法
について教えて下さい。

以下のコードのようにCGI(perl.cgi)からシェルスクリプト(sclipt1)を呼び出し、
シェルスクリプトの中でシェルスクリプトファイル(script2)を作成して実行します。
script2の実行にはかなりの時間がかかります。

[perl.cgi]の

open OUT, sudo tcsh script1 & |; の部分を、

open OUT, sudo tcsh script1 &;

と変えてみたらすぐにCGIの次の処理を実行しましたが、sclipt1は
最後まで実行できませんでした。

script1, script2をバックグラウンドで実行させたままCGIの次の処理を
実行することはできるのでしょうか。
もし可能でしたらその方法を教えて下さい。
sclipt1の戻り値は取得できなくても構わないです。

説明が判りづらく申し訳ございません。
よろしくお願い致します。

※コードをそのまま載せることが難しいため簡略させていただきます。

[perl.cgi]
:
open OUT, sudo tcsh script1 & |;
@return = <OUT>;
close OUT;
:

[sclipt1]
#script2作成
set scrfile = script2
echo #\!/bin/tcsh >> $scrfile
echo setenv
PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin
:/root/bin >> $scrfile
#script2実行
$exef &
echo $return
:

[script2]
:
#時間のかかる処理を行います
:


引用解決済
トピックタグ
Web

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました