首页 > 解决方案 > 在 Linux 上获取 Common Lisp 进程 ID

问题描述

我想知道是否有办法从 Common Lisp 的 REPL 中获取 Linux 的 PID(进程 ID)。也就是说,我想从进程本身的REPL中知道SBCL或Allegro进程的ID。

标签: linuxcommon-lisppid

解决方案


Common Lisp 规范中没有任何内容可以实现这一点。进程 ID 过于依赖于实现。

在 SBCL 中,该SB-POSIX包为大多数 POSIX 系统调用提供了 Lisp 接口,因此您可以使用(sb-posix:getpid).

在 Allegro CL 中,操作系统接口函数在EXCL.OSI包中,所以你可以使用(excl.ose:getpid)


推荐阅读