这道题的思路还是比较清晰的,用栈嘛,麻烦是麻烦在这些层次的细节上。主要有下面几个:
./和/:当前路径,遇到这种,应该将后面的文件夹或文件入栈。
../:上一层路径,遇到这种,应该做一次出栈操作,相当于返回了上一层目录。
//:可以直接简化成‘/’。
还有下面几个要注意的测试用例:
1. linux的路径名可以含有很多特殊字符,比如“_”,".","*"等等,所以要特别注意含有"."的哪...
分类:
其他好文 时间:
2014-05-13 23:32:13
阅读次数:
347
linux高可用集群的种类很多,比如常见的heartbeat,corosync,rhcs,keepalived,这些集群软件的出现为我们的业务生产环境提供了高可用的保证,本文将简单介绍一下用heartbeat的v2版本来处理一个简单的http高可用集群的搭建。
在实现http高可用集群之前,首先至少需要2台主机,并且需要做3点基本的准备工作:
1.设置节点名称,并且集群...
分类:
系统相关 时间:
2014-05-13 23:11:46
阅读次数:
518
做linux开发过程中,需要在某个程序运行到特定过程中打开一个新的终端界面,运行一个新的程序,具体的实现过程非常简单。...
分类:
编程语言 时间:
2014-05-13 08:58:27
阅读次数:
252
前言:
Linux,unix在内核中设有 缓冲区高速缓冲或页面高速缓冲,大多数磁盘I/O都通过缓冲进行,采用延迟写技术。
sync:将所有修改过的快缓存区排入写队列,然后返回,并不等待实际写磁盘操作结束
fsync:只对有文件描述符制定的单一文件起作用,并且等待些磁盘操作结束,然后返回。
fdatasync:类似fsync,但它只影响文件的数据部分。fsync还会同步更...
分类:
系统相关 时间:
2014-05-13 08:57:25
阅读次数:
507
一、list_for_each
1.list_for_each原型
#define list_for_each(pos, head) for (pos = (head)->next, prefetch(pos->next); pos != (head); pos = pos->next, prefetch(pos->next))
它实际上是一个 for 循环,利用...
分类:
其他好文 时间:
2014-05-13 08:50:12
阅读次数:
506
查询当前运行进程中是否有指定进程有多种方式,下面介绍一种通过进程名获取进程号,以此来确认该进程是否在运行。
如下实例,查询当前运行进程中是否有test进程在运行。
char buf[200]={0};
system("ps -A | awk '/test/{print $1}'>result");
FILE *fd;
fd=popen...
分类:
系统相关 时间:
2014-05-13 08:02:55
阅读次数:
409
UC正式推广官方技术博客,隐藏多年的浏览器技术开始陆续对外发布。...
分类:
其他好文 时间:
2014-05-13 06:49:04
阅读次数:
199