自由软件 BlueGroup
 站内搜索:  
您的位置:首页> 中文系统

 技术交流
分类目录:
  系 统 管 理
  硬 件 安 装
  网 络 通 讯
  系 统 安 全
  中 文 环 境
  数 据 库
  应 用 编 程

 入门指南
什么是 LINUX?
Linux各种发行版说明

Linux 基本知识
Linux 安装指南
Linux 命令简介

中文Linux 发行版本
LINUX中文平台
中文延伸套件 CLE(台湾)

 CLDP
中文HOWTO文档
中文mini-HOWTO文档
小技巧:使程序只启动一次

作 者: 于明俭

使程序只启动一次的方法有许多, 常见的方法有:

  • 使用lock文件, 当运行程序时首先检查lock文件是否存在, 它的缺点是程序非正常退出时有可能残留下lock文件.
  • 使用共享内存, 程序启动时检查共享内存中的标志
  • 使用原子(Atom), 仅适用于X Window, 下面详细介绍.

原子是X Window中某种属性(Property)的名称. 它在X Server 中只有一个. 一个原子在某一时刻只能由一个窗口拥有. 程序 可以通过查询哪一个窗口拥有这一原子.

Window twin;
Atom atom = XInternAtom(display, "MY_ATOM", False);
if(twin = XGetSelectionOwner(display, atom) != None ){
	printf("program already activated.\n");
	exit(1);
}
XSetSelectionOwner(display, atom, window, CurrentTime);




Copyright © 2000 LSLNET.COM Website. All rights reserved. 蓝森林网站版权所有。 E-mail : contact@lslnet.com