|
发表于 2006-5-8 09:35:43
|
显示全部楼层
记得看过limodou写的一篇文章,讲到了newedit中使用的技术,就是让它只有一个实例在运行:当有一个实例已经在运行的时候,如果其用newedit打开文件的话,那么它会使用当前在运行的newedit打开文件,而不是新启动一个newedit实例。
忘了它在windows上的实现,蛮简单的,好像是因为Windows本身就支持这种功能。
在Linux上的实现,是建立一个Unix domain socket,进行监听。在打开的时候,先尝试连接这个socket,如果连接成功的话,说明有一个实例在运行,然后就往这发送文件名,那么当前正在运行的实例接收到这个文件名的时候,就将其打开,而第二个实例在发送完文件之后,就退出。
一下子找不到那篇文章了,这些都只是凭记忆说的。如果错了,请指出。 |
|