gpt4 book ai didi

bash - 如何从命令行脚本(或 cron)启动 Common Lisp GTK 应用程序?

转载 作者:行者123 更新时间:2023-11-29 09:29:24 25 4
gpt4 key购买 nike

我编写了一个程序,使用 cl-cffi-gtk 和 Common Lisp 生成一个简单的托盘图标,名为 tray-icon.lisp,它在名为 hourly-player< 的 ASDF 系统中定义/em>。我现在的问题是,虽然这个应用程序从命令行启动很好,但从脚本启动它却有点困难。如果我尝试

sbcl --eval '(asdf:load-system "hourly-player")' --eval '(hourly-player:run)' 

我的应用程序已正确加载到 SBCL REPL 中,并且托盘图标显示正确。但是,如果我添加一个 & 以在后台启动我的脚本,它似乎会立即终止。

在我的 run 函数末尾添加一个 (loop) 可以防止脚本终止,但显然也占用了我的 CPU 比这样一个必要的多得多应用程序(根据 conky 大约有 12% 的负载,而在 sbcl 中运行时基本上没有负载)。

是否有一些规范的方法可以让我的脚本作为后台进程保持事件状态?

我也知道还有其他方法可以执行 lisp 程序,但它们要么存在相同的问题(例如核心转储),要么似乎破坏了我的系统定义依赖性(至少 buildapp 和 cl-launch 似乎是这样做的).

如果有帮助,可以找到我的项目here .

最佳答案

快速拍摄可能是执行 (loop (sleep 60)) 以保持您的主程序处于事件状态。您可能还想看看使用 within-main-loop-and-wait 而不是 within-main-loop (来自 gtk+)。

关于bash - 如何从命令行脚本(或 cron)启动 Common Lisp GTK 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47273556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com