易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux 下共享内存建立时需要注意的问题

在linux下使用共享内存时,照着书上或者网上的方法,使用shmat函数时,老是会碰到一个问题
提示:
shmat error
permission denied
每次需要sudo一下才能够正常运行,并且如果普通用户使用ipcs查看的话,是看不见已经分配的共享内存的,需要在root用户下才能看见, 最开始以为是shmat需要root用户的权限,后来发现不是这样。
造成这个问题的成因是在使用shget的时候,没有赋于开辟的共享内存对应的读写权限。
shget函数原型如下
int shmget( key_t shmkey , int shmsiz , int flag );
注意最后一个形参 flag,表示当前内存的模式
(mode)以及权限标识。
可以取如下的值
模式可取如下值: 新建:IPC_CREAT
如果标识符以存在,则返回错误值:IPC_EXCL
然后将“模式” 和“权限标识”进行“或”运算,做为第三个参数。
如: IPC_CREAT | IPC_EXCL | 0666

shmid = shmget( shmkey , sizeof(in_data) , IPC_CREAT |
0666 ) ;
这样,一切ok. 不需要root权限,用ipcs也能看到当前用户建立的共享内存信息


相关文档:

Linux iptable文档

总览
用iptables -ADC 来指定链的规

,-A添加 -D删除 -C 修改
iptables - [RI] chain rule num rule-specification[option]
用iptables - RI 通过规则的顺序指定
iptables -D chain rule num[option]
删除指定规则
iptables -[LFZ] [chain][option]
用iptables -LFZ 链名 [选项]
iptables -[NX] chain
用 -NX ......

ubuntu linux ppp 拨号 GPRS

一 首先安装ppp, 用sudo apt-get install ppp
二 拨号上网, 一共有3种方式
1.使用命令 pppd call somescript 的方式
- 在 /etc/ppp目录下,建立3个文件:pap-secrets,chap-secrets,gprs-connect-chat
  和一个目录:peers
  在peers目录下建立一个文件gprs
这4个文件的内容如下:
---------------------- ......

Linux和Windows XP之间使用FTP互传文件

我是用虚拟机装了Linux,真实系统是Windows XP,在Windows XP下用Serv-u软件架设了FTP服务器,然后我们就可以在虚拟机的Linux下登录该FTP服务器下载或上传文件了,不同的仅是在Linux下是在命令行里输入相关FTP命令来完成的,应该也有像FlashFXP、CuteFTP这一类的Linux专用软件,不过我孤陋寡闻,不了解,也就不误人子弟了。 ......

linux进程状态浅析

众所周知,现在的分时操作系统能够在一个CPU上运行多个程序,让这些程序表面上看起来是在同时运行的。linux就是这样的一个操作系统。
  在linux系统中,每个被运行的程序实例对应一个或多个进程。linux内核需要对这些进程进行管理,以使它们在系统中“同时”运行。
linux内核对进程的这种管理分两个方面:进 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号