Articles of pipe理员

如何在运行时在C中查看我的程序的内存布局?

我想在C中看到我的程序的内存布局,这样我就可以在运行期间实际上理解内存中所有不同的片段,比如BSS或堆中的改变。

平面内存模型和受保护内存模型之间的区别?

平面内存模型和受保护内存模型之间的区别? VxWorks支持平面内存模型,Linux是否也支持平面内存模型?

使用pipe道将数据发送到多个套接字,tee()和splice()

我正在用tee()复制一个“master”pipe道,使用splice()写入多个套接字。 自然,这些pipe道将以不同的速率清空,具体取决于我可以拼接()到目标套接字的多less。 所以,当我下一步将数据添加到“主”pipe道,然后再次发球时,我可能会遇到这样的情况:我可以向pipe道写入64KB,但只有4KB到“从”pipe道。 我在猜测,如果我拼接()所有的“主”pipe道的套接字,我将永远不能tee()剩余的60KB到奴隶pipe道。 真的吗? 我想我可以跟踪一个tee_offset(从0开始),我将其设置为“不确定”数据的开始,然后不拼接()。 所以在这种情况下,我会设置tee_offset为4096,而不是拼接更多,直到我能够开球到所有其他pipe道。 我在这里的正确轨道? 任何提示/警告给我?

我怎样才能recursion复制一个目录到另一个只replace没有改变的文件?

我期待在Fedora中做一个特定的副本。 我有两个文件夹: 'webroot':保存所有的网页文件/图片等 'export':包含数千个从SVN仓库导出的PHP,CSS,JS文档的文件夹。 导出目录包含许多与根相同的文件/文件夹,但是根包含在导出中找不到的其他文件/文件夹。 我想合并所有的导出内容与我的webroot与以下选项: 如果导出的版本包含不同于webroot版本(实况)内的代码,则覆盖webroot中的文件 保留文件的权限/用户/组(如果被覆盖(导出版本取代实时版本))*注意我希望维护webroots的权限/所有权,但是导出的内容 没有提示/停止任何forms的副本(即不详细) recursion副本 – 显然我想复制在导出中find的所有*文件夹和子文件夹 我已经做了一些关于cp的研究 – 这是否可以完成这项工作? cp -pruf ./export /path/to/webroot

有什么好的PostgreSQL客户端的Linux?

我对没有一个好的PostgreSQL的Linux GUIpipe理和开发工具感到沮丧。 pgAdmin III是与Windows相关的PostgreSQL Maestro和EMS PostgreSQLpipe理器。 phpPgaAmin不看起来很有希望。 EMS PostgreSQLpipe理器可以在Wine下工作,但是这样的设置有一些问题。 要求是: 表格数据编辑和浏览大表格(1M +),可以通过FK跳转或者一些主从编辑,GUI过滤等等。 ER图表就地架构编辑 模式编辑和浏览所有有用的GUI支持 模式更改日志以放入数据库版本(迁移脚本)。 选项卡式接口能够同时处理大量表和SQL查询。 等等。 有任何想法吗?

pss在/ proc / pid / smaps中意味着什么

我对/ proc / pid / smaps中的pss列感到困惑,于是我编写了一个程序来testing它: void sa(); int main(int argc,char *argv[]) { int fd; sa(); sleep(1000); } void sa() { char *pi=new char[1024*1024*10]; for(int i=0;i<4;++i) { for(int j=0;j<1024*1024;++j){ *pi='o'; pi++; } } int cnt; for(int i=0;i<6;++i) { for(int j=0;j<1024*1024;++j){ cnt+=*pi; pi++; } } printf("%d",cnt); } $cat /proc/`pidof testprogram`/smaps 08838000-0885b000 rw-p 00000000 00:00 0 [heap] […]

如何以编程方式切换到compiz中的特定窗口?

有没有一个命令来告诉compiz,我们想把前面的焦点放在一个特定的窗口? 我们应该如何识别该命令中的窗口? 这个问题背后的原因是下面的用例: 假设我们有一个wiki来logging我们发现的任何有趣的东西。 有一个键盘快捷键可以让浏览器窗口前面带有我们的Wiki页面,然后开始立即打字,然后用另一个组合键切换到我们以前工作的应用程序 我知道ALT + TAB在最后两个使用的窗口之间切换,但不能支持更复杂的应用程序组合。 例如浏览器+ Eclipse + Wiki 如果有类似的命令,可以从KDE或GNOME界面添加一个快捷方式

为什么内核映射到与进程相同的地址空间?

这是一个需要说明的问题: 为什么内核被说成在进程地址空间? 这可能是一个愚蠢的问题,但它只是popup在我的脑海里。 所有关于进程地址空间和虚拟内存布局的文本都提到进程地址空间为内核预留了空间。 例如在32位系统上,进程地址空间是4GB,其中1GB是为Linux内核保留的(在其他操作系统上可能不同)。 我只是想知道为什么当进程无法直接访问内核时,为什么内核被说成是在进程地址空间中。 为什么我们不说内核具有一个独立的地址空间而不是一个进程,为什么我们不能为内核本身提供一个与进程的页表分开的不同的页表? 我可以得到关于Linux(Debian或Ubuntu)特定操作系统的解释。

在Tomcat上部署war文件

有没有办法在Tomcat服务器上部署一个给定的战争文件? 我想这样做,而不使用Web界面。

在Linux上最好的沙盒Apache方法

我的Apache运行在面向公众的Debian服务器上,对安装的安全性有点担心。 这是一个机器,主持几个空闲时间的爱好项目,所以我们没有谁使用这台机器真的有时间不断地观察上游补丁,保持安全问题等意识,但我想保持坏人出去,或者如果他们进来,把他们放在沙箱里。 那么什么是最好的,易于设置,易于维护的解决scheme? 在Debian上设置一个用户模式的linux sandbox很容易吗? 或者也许是一个chroot监狱? 我想从外面轻松访问sadbox内的文件。 这是对我来说非常清楚,我是程序员而不是系统pipe理员的那个时代之一。 任何帮助将非常感激!