社区
Linux/Unix社区
帖子详情
如何用unix c实现后台自动跟踪某个接收文件目录下有新文件到达?欢迎讨论!
woihuahua
2004-01-02 11:14:35
要求当接收文件目录下有一个以上的新文件到达时,通过后台在界面上给出提示。当把提示消息取消后,只有再有新的文件接收到时才会再提示的。
谢谢大家发表自己不同的方案及实现方法。
...全文
54
8
打赏
收藏
如何用unix c实现后台自动跟踪某个接收文件目录下有新文件到达?欢迎讨论!
要求当接收文件目录下有一个以上的新文件到达时,通过后台在界面上给出提示。当把提示消息取消后,只有再有新的文件接收到时才会再提示的。 谢谢大家发表自己不同的方案及实现方法。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ks9960
2004-01-12
打赏
举报
回复
在接收完新文件关闭时生成一个伴随文件(有特殊名字的文件,例如带有时间戳),后台程序尝试读取这种文件,读到了就输出提示,如果没有其它操作了就把伴随文件删除了。
wangjinhu
2004-01-11
打赏
举报
回复
if(pid=fork())
{
exit(0);
}
setpgrp();
signal(SIGHUP, SIG_IGN);
if(fork() > 0)
{
exit(0);
}
for(fd=0; fd<NOFILE; fd++)
{
close(fd);
}
errno = 0;
chdir("./");
umask(0);
fd=open(".", O_RDONLY);
fcntl(fd,SETSIG,SIGRTMIN);
fcntl(fd, F_NOTIFY, DN_CREAT);
while(1)
{
pause();
//notice
}
可以试一下
zengpan_panpan
2004-01-10
打赏
举报
回复
这个技术就是sgi-fam,一般需要核心支持。不过较高版本的redhat提供了基于用户层代码的实现,作为xinetd处理的一个服务。
woihuahua
2004-01-10
打赏
举报
回复
楼上的能不能说得详细一些的呢?
wangjinhu
2004-01-08
打赏
举报
回复
可写一个守护程序,用fcntl(fd, F_NOTIFY, DN_CREAT);实现应该不难吧!
wangjinhu
2004-01-06
打赏
举报
回复
关注
HostOOP
2004-01-02
打赏
举报
回复
我先说一个:
(1)读取该目录下的所有文件,把文件名保存在一个表中(可以使用Hash表、链表,看你了)
(2)定时扫描该目录,没发现一个文件,就到表中检查,看表中是否有该文件,如果有,扫描下一个,如果没有,表示是新文件:
a、将新文件名加入表中
b、发消息通知
louyp
2004-01-02
打赏
举报
回复
关注!
make零基础教程(Linux系统) Makefile
自动
化 构建
make是在1977年在贝尔实验室(Bell Labs)研发的
Unix
系统中的一款依赖关系检查工具程序(Utility software)。make的应用非常广泛,它被用来构建 C、C++ 、Pascal Fortran 等项目,
自动
化构建生成可执行
文件
或者库
文件
。make通过读取Makefile
文件
以
自动
化建构软件, 它会根据依赖
文件
的修改时间进行判断。确定一个target的依赖关系,然后把生成这个target的相关命令传给shell去执行。GNU make 和大多数版本的 make 之间最重要的区别是 GNU make 是自由软件,常和GNU编译系统一起被使用,是大多数GNU Linux安装的一部分。GNU make 在 makefile 中具有许多强大的功能,超出了其他 make 版本的功能,它还可以重
新
生成、使用、然后删除不需要保存的中间
文件
。GNU make 还有一些非常方便的简单功能。例如,选项“假装源
文件
文件
没有更改,即使它已更改。当您向头
文件
添加
新
宏时,这非常有用。大多数版本的 make 都会假设它们必须重
新
编译所有使用头
文件
的源
文件
,但是如果您知道对头
文件
的更改不需要重
新
编译 GNU make 为您提供了一种避免重
新
编译的方法-o file 。 黄强老师针对零编程基础的同学,精心打磨make核心知识点,帮助你快速掌握Linux编程中的make的构建!适用人群: 零基础、
新
手、想快速学习Linux下C、C++编程的童鞋!
Linux系统编程【
文件
IO、进程、进程间通信、信号、线程、互斥】
个人通过学习,手打了一份48000字的Linux系统编程的笔记,包含了【
文件
IO、进程、进程间通信、信号、多线程、互斥】等知识点,并给出了大量的代码案例对每个重要的知识点进行了代码演示,通过理论和实操的结合,更好的透析每个知识点,为后续的
unix
网络编程打下基础。
5万字、97 张图总结操作系统核心知识点(二)
文件
文件
命名
文件
是一种抽象机制,它提供了一种方式用来存储信息以及在后面进行读取。可能任何一种机制最重要的特性就是管理对象的命名方式。在创建一个
文件
后,它会给
文件
一个命名。当进程终止时,
文件
会继续存在,并且其他进程可以使用名称访问该
文件
。
文件
命名规则对于不同的操作系统来说是不一样的,但是所有现代操作系统都允许使用 1 - 8 个字母的字符串作为合法
文件
名。 某些
文件
区分大小写字母,而大多数则不区分。
UNIX
属于第一类;历史悠久的MS-DOS属于第二类(顺便说一句,尽管 MS-DOS 历史悠...
Linux 题库及答案永久开放共同学习进步
Linux 题库( 一 ) 一、选择题 (每小题2分,共50分) 4. 下面哪个命令是用来定义shell的全局变量( D ) A. exportfs B. alias C. exports D. export 11. 在vi编辑器里,命令"dd"用来删除当前的( A ) A. 行 B. 变量 C. 字 D. 字符 12. 当运行在多用户模式下时,用Ctrl+ALT+F*可以切换多少虚拟用户终端( B ) A. 3...
UNIX
分时系统文章谷歌翻译
原文链接:The
UNIX
time-sharing system | Proceedings of the fourth ACM symposium on Operating system principles
UNIX
是用于 Digital Equipment Corporation PDP-11/40 和 11/45 计算机的通用、多用户、交互式操作系统。 它提供了许多即使在大型操作系统中也很少见的功能,包括:(1)包含可拆卸卷的分层
文件
系统; (2) 兼容的
文件
、设备和进程间I/O; (3) 启
Linux/Unix社区
23,121
社区成员
74,508
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章