linux - 在 Linux 上获取 Common Lisp 进程 ID
问题描述
我想知道是否有办法从 Common Lisp 的 REPL 中获取 Linux 的 PID(进程 ID)。也就是说,我想从进程本身的REPL中知道SBCL或Allegro进程的ID。
解决方案
Common Lisp 规范中没有任何内容可以实现这一点。进程 ID 过于依赖于实现。
在 SBCL 中,该SB-POSIX
包为大多数 POSIX 系统调用提供了 Lisp 接口,因此您可以使用(sb-posix:getpid)
.
在 Allegro CL 中,操作系统接口函数在EXCL.OSI
包中,所以你可以使用(excl.ose:getpid)
推荐阅读
- android-studio - Android Studio 通过活动结果加载位图
- python - 如何设置类“帮助(类)”方法?
- reactjs - Redux Action 仅在刷新时调度,而不是在重定向后调度
- python - Pandas - 在一张图中绘制两种类型的及时分布使用情况
- jquery - laravel sweetalert2 Uncaught TypeError:无法将类作为函数调用
- flutter - 如何在共享扩展中获取 shared_preferences
- angular - 错误 TS2694:命名空间 r3_symbols 没有导出成员 'ɵɵFactoryDef'
- c# - Apache 使用泛型的过滤器或谓词条件点燃 loadCache()
- php - 使用 mpdf 将 Google 图表导出为 PDF 的问题
- reactjs - 如何在没有 forwardedRef 的情况下使用 typescript 在 React hoc 中创建 ref