こんにちは。
先日、こんなSSJSを実行してしまい、永久ループを作ってしまいました。
docsがNotesDocumentCollectionになってて、文書を取り出しながらあるフィールドから文字列を取り出そうというものです。
途中のcontinueに入り込むと永久ループになってしまいます。
var list = [];
var doc:NotesDocument = docs.getFirstDocument();
while(doc) {
var text = doc.getItemValueString(fieldname);
print "text=" + text;
if (text != "") {
continue;
}
list.push(text);
var next_doc = docs.getNextDocument(doc);
doc.recycle();
doc = next_doc;
}
ここで質問です。Dominoは9.0.1で、OSはLinuxです。
(1) この手の永久ループを作ってしまったときに、ある程度時間が経過したときにSSJSを自動停止させるようなDominoサーバの設定はありませんか?
(2) 走り出してしまったこの処理を強制停止させるDominoサーバのコマンドはありませんか?
このときはサーバコンソールにログが連続して出力される状況だったので、httpプロセスをOSのkillコマンドで停止させたり、Dominoサーバを強制終了させる荒業を使いました。実行させているユーザー名は特定できてるので、そのユーザーのプロセスだけ強制終了させるとかできそうな感じがするのですが。
/Yac