Common Lispのバックグラウンドで関数を実行する最も良い方法はありますか?具体的には、 (trivial-shell:shell-command "<long and complicated command>"
のような電話をかけています。この操作は約10秒間ブロックされますが、出力は気にしません。副作用だけです。バックグラウンドで実行したいので、プログラムの流れを続けることができます。私はsb-thread:make-thread
に全体をラップしようとしましたが、それは違いを生じさせていませんでした。Common Lisp:バックグラウンドでの関数の実行
可能であれば、あらゆる種類の複雑なスレッディングに巻き込まれないようにしたいと思います。 64ビットGentoo LinuxでSBCL 1.1.18を実行しています。
トリビアル・シェルは古いものであり、初歩的な(http://www.cliki.net/trivial-shell)パッケージです。あなたは[launch-program in UIOP](https://gitlab.common-lisp.net/asdf/asdf/tree/master/uiop) – Renzo
"のような他の解決策を試すことができますが、それは違いを生むようには見えませんでした。 "あなたのSBCLのインストールはスレッドをサポートしていますか? ':sb-thread'が' * features * 'に属しているかどうかをチェックします(または単にREPLの'#+ sb-thread t'を評価します)。 Tが返された場合は、スレッドを開始できるはずです。 – coredump