0

在我的 Debian wheezy 上使用 SBCL:

1) Alsaplayer 播放 CD 音频: * (run-program "/usr/bin/alsaplayer" '("-q" "CD.cdda") :wait nil)

#<SB-IMPL::PROCESS 7199 :RUNNING>

2) ps 告诉我音频 CD 正在播放: (EXITED 0) * (run-program "/bin/ps" '("-C" "alsaplayer"))

#<SB-IMPL::PROCESS :EXITED 0>

问题:我想恢复第 2) 部分中的值 0,但假设我将 2) 的结果放在变量 var0 中。

* (type-of var0)

SB-IMPL::PROCESS 

我想知道是否有直接的方法来获得 0 ?为了恢复它,我做了:

*(setf str0 (format nil "~a" var0))

"#<PROCESS :EXITED 0>"

* (aref str0 18)
#\0

但它似乎不是很聪明?

提前感谢您提供任何线索。

杰拉德

4

1 回答 1

1

尝试

(sb-ext:process-exit-code var0)

它在 SBCL 手册中。

于 2013-01-23T01:02:25.673 回答