【发布时间】:2012-01-19 01:14:24
【问题描述】:
这更多是关于最佳实践的问题。我的服务器允许用户使用 FontForge 将字体从一种格式转换为另一种格式。为防止冲突,在任何给定实例中只允许进行一种字体转换。
当一个用户启动转换时,会创建一个充当锁的 PID 文件。如果其他用户在第一次转换仍在运行时尝试启动转换,则脚本将暂停片刻并再次检查 PID 文件。
这会一直重复,直到第一个进程删除 PID 文件,从而解锁对 FontForge 的访问。但是,如果第一个用户在脚本完成之前取消了脚本(通过按浏览器上的停止按钮),那么脚本会在 PID 文件被删除之前退出。第二个用户将永远无法继续。
处理这个问题的最佳方法是什么?
【问题讨论】: