linux下通过oracle pipe创建文件!
现在有个这样的需求,我的oracle过程要动态创建文件(文件是用来导出数据用的),事先我不知道改文件是否已经存在.所以我想通过pipe管道给linux的一个脚本发送消息,而该脚本取得oracle 管道发来的消息(是文件的目录) ,将消息重定向到另外一个判断该目录是否存在的脚本,如果不存在则创建它.
用FIFO..
如果你的linux脚本执行进程跟你的oracle进程不是亲缘进程,就用有名管道FIFO吧。操作很简单,类似文件操作。
FIFO?用法可否给我讲讲
这里有详细用法:
http://hi.baidu.com/glowzrf/blog/item/dcaf96fb28c941136d22eb9f.html
找本进程间通信的书都有介绍
网络被限制了,只能上CSDN.
查看文章
命名管道FIFO——Linux笔记
2008-04-08 20:15
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
int main(){
int res=mkfifo("/tmp/my_fifo",0777); //int mkfifo(const char *filename,mode_t mode);
if(res==0) printf("FIFO created\n");
exit(EXIT_SUCCESS);
}
FIFO的读写规则:(出自Linux C编程)
从FIFO中读取数据:
1.如果有进程写打开FIFO,且当前FIFO内没有数据,则对于设置了阻塞标志的读操作来说,将一直阻塞。对于没有设置阻塞标志的读操作来说则返回-1,当前errno值为EAGAIN,提醒以后再试。
2.对于设置了阻塞标志的读操作来说,造成阻塞的原因有两种:一种是当前FIFO内有数据,但有其
相关问答:
目标:当网络中有数据到达或者超时,程序进入下一次循环。
问题:select()函数不起作用,程序不会在select的地方阻塞一秒,并且当网络上有数据的时候,select的返回值仍然小于0
#include <s ......
在linux下,怎样编译OCI的程序?它的gcc指令是什么?我从网上找的都不能用!还有,我在linux用C与oracle连接,我都需要安装oralce的哪些软件?只需要oralce的客户端,与OCI的库么?别的还需要么?
请高手指教!
......
升级成功了,但是在2.6.18很多modules都未加载,例如usb-storage,cdrom等等。
手动modprobe很多都不能加载成功,请问该怎么处理??
http://blog.chinaunix.net/u1/40912/showart_354070.html
我刚接触,看不 ......
问题是这样的,linux系统连接windows的FTP用的是什么端口,是不是随机的,可不可以给它固定某个端口,因为我防火墙打开的时候ftp连不上,防火墙关闭后,ftp可以连的上
咦 怎么没人帮忙解答呢
继续等待
......