私は一種の並列計算のために emacs/ielm でプロセスを実験しています。つまり、さまざまな計算のために多くのプロセスを開始し、すべてのプロセスが終了して結果を作成するのを待ちます。これを行うために、次の単純な関数を設定しました。
(defun testp ()
(while (> (length (process-list)) 1)))
すべての子プロセスが開始された後に testp を呼び出し、再びコントロールを取得したら、結果を構成します。
- 子プロセスがない場合、testp はすぐに終了します。
- 少なくとも 1 つの子プロセスの testp ループがある場合: ok;
- すべての子プロセスが終了すると、testp はループし続けますが、これは良くありません。
どこが間違っているのか理解できるようにお願いできますか。