プロセスイメージ保存

このプロセスイメージ保存は、Solarisの動的ロード機能に深く依存しているため、 Solaris2のEuslispにおいてサポートされていない。 Solarisの動的ロード機能は、共有するオブジェクトをsbrk点の上の 位置に依存した形でロードする。



save path &optional (symbol-file "") starter [関数]

saveは、現在のEuslisp処理の環境をファイルにダンプする。 そのファイルは、後でUNIX命令として呼び出すことができる。 もし関数名がstarterによって指定されているなら、 その関数はその命令の実行が始まるときに評価される。 それぞれの命令行の引き数はEuslispの中で強制的に文字列にされ、 引き数としてstarterに受け渡される。 それで、命令行を解析できる。 *standard-input**standard-output*を除くすべてのストリームを 確実にクローズしていなければならない。 ファイルがオープンされた状態を保存することはできない。 また、mmapを試そうとしてはならない。 mmapはインターネットのソケットストリームを作るとき、見えない所で実行されている。 Sunのネットワークライブラリはhost-by-nameのようなNIS情報をメモリ上に いつも展開し、プロセスの最上位に置くため保存できない。 そのため、保存されたイメージが実行されるても、ネットワークライブラリへの アクセスはどれも失敗し、コアダンプが生じる。 Xwindowもこのライブラリを使用している。 それで、一度Xserverに接続されたプロセスイメージを保存することはできない。




2016-04-05