手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表分类:Linux

六种方法全面解释Linux下进程间通信

 因为最近在写点东西遇到了这方面的问题。所以关注了一下,这段内容是摘抄来的。因为以前用PHP的时候,一般就是shm_attach/msg_get_queue/ 管道等

有些东西不是特别熟,所以记录下来做笔记 

 

Linux下进程间通信大致有以下几种:(来自:http://golang.usr.cc/blog-1403-3071.html)
  1. 1.socket  
  2. 2.管道(包括匿名管道适用于父子进程,命名管道)  
  3. 3.信号量  
  4. 4.共享内存  
  5. 5.消息队列 
  6.  
  7. 1.socket  
  8. socket可以用于本地进程间通信也可以用于远程间,是最常用的。  
  9. 2.管道--匿名管道  
  10. 一般用pipe创建,在父子间通信。在父进程中关闭读/写管道,在子进程中关闭写/读管道。  
  11. 2.管道--命名管道  
  12. 一般用mkfifo来创建。如果没有说明管道是非阻塞的,那么一个为读打开的管道将阻塞直到有进程为写打开此FIFO。同样如果为写打开的管道将阻塞直到有进程为读打开此FIFO。  
  13. 3.信号量  
  14. 一个进程可以用kill发送信号至另外一个进程。  
  15. 4.共享内存  
  16. 使用函数:shmget、shmat、shmctl、shmdt  
  17. 用shmget函数得到一块内存,并用shmat设置为允许本进程使用这块共享内存。使用完以后用shmdt删除内存块。  
  18. 5.消息队列  
  19. 使用函数:msgget、msgsnd、msgrcv、msgctl  
  20. 使用步骤同上。  

 

转:使用wget命令镜像网站

因为内容其实并不多,所以我干脆直接上原文了。做为一个PHP(拍黄片)的User,抠模版实在太常见了,所以。。。。找啊找,想不到,工具原来一直就在我们身边

原文地址:http://blog.chinaunix.net/uid-22780578-id-3346384.html
 
1、Linux下的wget命令:
          wget  :下载工具。
         下载基本的文件:可以直接:wget  -c  http://×××  或者wget -c   ftp://××
参数:  wget  -c:continue 表示断点续传..
                      -b :background 后台成为进程运行。
                      -O :文件另存 : 
                      -i  :下载后跟文件包含的链接。 wget  -c  -i  **.txt
                      -t  尝试链接的次数, -t 0 无限次尝试
                     --linit-rate 限制速度 wget  --linit-rate=200k  http://××
 更多基本命令参见 man
备份某个网站镜像: wget:-k 转换成为本地的链接
                                         -r 下载对应链接的内容。(默认是所有)
                                          -np  不下载站外链接
                                          -p下载网页需要的元素,css ,img等
现在,基本可以用 : wget -c  -k  -r  -np  -p  http://××× , 还可以用命令 -m --mirror 来实现: wget  -c -m -p  http://××
 
2、教你怎么保存好的网站,制作成chm,pdf,txt,epud
有时浏览网页时,发现一些较好的知识类网站,想保留下来,存个书签又不能很好保存,又不能离线查看,有时还会过期。所以最安全也最可靠的方式是把网站镜像下载,也就是所谓的把网站dowm下来,保存在本地,但是查看时也有诸多不便,因为每次又要找到主页(index),并且文件比较分散,不好管理而且不美观。 所以本文教你怎么保存网页,乃至整个网站
使用到的工具: wget (linux ,windows,mac、   windows下 winchm或者quickchm等,以上2个比较简单(或者使用官方的HTML  HELP  workshop,不过不推荐)好用,其他的还有很多epudbuilder ,就jotoh等,如要是转换pdf还需要Adobe Acrobat  ,我主要是在win下完成的。

方法:

  1. wget  : 凡是使用linux的肯定知道这个工具,大部分都用作下载工具其实它的功能远不止于此,可以来镜像网站,网站备份等windows下系统是没有这个工具的,但是可以通过其他的方法来使用这个工具。 以下载wget 的windows版本,http://gnuwin32.sourceforge.net/packages/wget.html还可以用 MinGw,cygwin等等win下的linux环境软件,可以随意安装一个,其实这两个的用途远不至于此。同时还可以使用其中的wget
    XML/HTML代码
    1. mkdir **(**为你要新建的目录,随意)  
    2. cd **  
    3. wget -m -L -k -p  http:// ****  
    4. 或者  
    5. wget -r  -p -np  -k http:// ***(更详细的wget介绍可参见man   wget )  
    6. 以上命令是来down网页的  
  2. 下载后会有一个或多个目录,记住路径。然后运行以上的winchm或是quickchm制作chm文档,具体参见软件自身的详细介绍。
  3. 可以使用winchm的单html输出功能,可以制作出一个html文件。此时就可以使用Adobe Acrobat制作pdf文档,或是别的什么的,
  4. 使用epud或是jotoh等来装换chm到epud文档,或者也可以直接编辑html到epud文档。。

Tags: wget, 镜像, 克隆

debian上升级php5至php5.4的版本

 官方的php5版本到现在还是5.3但我想用json_encode的unescape_unicode的选项,所以,只能升级PHP至5.4了

 
其实真的有现成的包,如果你搜索网上的内容,他们会也和你说,看一下:dotdeb.org吧。于是我看了一下dotdeb.org。确实不错,不但有升级教程,还有mirrors
 
1、安装dotdeb.org的源:参考:http://www.dotdeb.org/instructions/
有两种试,如果你只是安装PHP,就直接将下面的内容复制到/etc/apt/sources.list
XML/HTML代码
  1. deb http://packages.dotdeb.org squeeze-php54 all  
  2. deb-src http://packages.dotdeb.org squeeze-php54 all  
2、GPG的KEY更新并加入到系统里
XML/HTML代码
  1. wget http://www.dotdeb.org/dotdeb.gpg  
  2. cat dotdeb.gpg | sudo apt-key add -  
如果你本来就是root,那上面的sudo就不需要了
3、apt-get update 
4、apt-get upgrade
就这样,你成功了。。。
 
 

Tags: debian, php

cat 将内容写入文件

利用cat将内容写入文件其实很方便:

echo 10 | cat > /var/www/test.txt
两个函数一个管道,就这样完成了。
 
在这里我不多介绍cat的操作用法,毕竟很多时候用cat只是为了看一个文件 ,真要学了,网上有大把的资料
事实上,想这样调整的时候是因为我在做一个处理,即PHP的函数:msg_send和shm_*系列
 
1、用shm_*写程序。在命令行接收,动不动就挂掉。。。我人也崩溃了,太不稳定了
2、用msg_send和msg_receive发,用msg_queue_stat统计的时候,发现即使我的内容很短,也只能qmax为40,这时候我就在想是不是有其他原因,有人说可以调整/proc/sys/fs/mqueue/msg_max,因为来自proc,所以我想到了用cat写入。于是就有了本文
 
---EOF---
最后,由于msg_send其实他能够接受的最大字节数就是16384,所以,如果你的内容过大。比如我一条信息就是500字节,明显qmax最多只有32.而且最大字节还不能调整。。。或者说调整无效。。。
于是我现在msg_send发送的时候,其实message的内容是文件名。receive后,读取文件内容处理完毕后删除文件 。如果处理失败,扔到failed目录里
最后再有一个程序glob("/xxxx/*")进行按批处理。
 
蛋疼就是这样产生的

反向代理增加:play.golang.org

反向代理服务器增加play.golang.org,网址是goplay.neatcn.com

昨天终于收到通信管理局的邮件了,我最后一个域名的备案已经被注销了。其实在我的网站迁到国外去之后,就已经明白了。

BTW:五一玩的很开心