我有一个基于 POE 的 IRC 机器人,它使用“模块”作为命令集。核心 bot 脚本在 bot 主目录的 plugins 目录中加载 *.pm 文件。
我想要一个可以读取配置并每 xxx 分钟向 xxx 频道发送 xxx 文本的模块。但它必须在后台启动,才能继续加载模块。
我已经完成了一个 while(1) 循环,但只要循环处于活动状态,模块就无法继续,我也无法向它发送命令。
我正在寻找一种方法来基本上将一个子启动到后台,跟踪它的 pid,并能够随意停止它。
该机器人的架构是:
bot.pl 加载主模块 bot.pm。bot.pm 加载插件目录中的 *.pm 文件。一个插件可以包含或更多的机器人命令。