Articles of pipe理员

检查密码上次更改的时间

如何检查密码最后一次更改的时间? 我想在Windows和Linux上都这样做,你能指导我一点,我该怎么做?

我应该将哪个Linux发行版用作Xen主机?

我订购了一个家庭办公室的服务器,我想用Xen分区。 我认为这样可以使事情保持清洁,更容易维护。 我将运行MySQL,PostgreSQL,Tomcat和我自己的代码。 什么免费提供的Linux发行有最好的Xen托pipe设施?

caddr_t有什么意义,什么时候使用?

有人可以告诉我: 什么是caddr_t ? 什么时候使用? 它与void*什么不同? 何时使用void*以及何时使用caddr_t ? 提前致谢。

fork-execpipe道redirect问题

有谁能告诉我这个代码有什么问题吗? 总之,它创buildinput和输出pipe道和fork–exec的sort程序。 父节点读取字典/usr/share/dict/words并将其写入到dup2() 'd的pipe道中,同样从中读取输出,并将其打印到terminal(标准父母的输出)。 或者至less,这就是应该发生的事情。 回溯表示父母挂在第130行的read() (标记为“XXX”注释)。 就好像sort没有意识到文件结束,但是closurespipeIn的写入结束应该“发出”这个信号,对吗? #include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> int main(int argc, char** argv) { int pipeIn[2]; int pipeOut[2]; if ((pipe(pipeIn)) == -1) { perror("pipe"); exit(EXIT_FAILURE); } if ((pipe(pipeOut)) == -1) { perror("pipe"); exit(EXIT_FAILURE); } pid_t child = fork(); if […]

在bss和数据段中的整数variables大小

我正在使用一个testing程序来理解Linux 6.3上的C内存模型,内核版本是2.6.32-279.el6.x86_64。 首先我编译下面的代码, #include <stdio.h> int main(void) { static int i = 100; /* Initialized static variable stored in DS*/ return 0; } 在运行大小命令,我下面, [root@rachitjain jan14]# size a.out text data bss dec hex filename 1040 488 16 1544 608 a.out 然后,删除静态variables“我”的初始化后,我的代码变成, include <stdio.h> int main(void) { static int i ; return 0; } 上面编译后运行大小, [root@rachitjain […]

从Python中发现在Gnome / Linux / Ubuntu上哪个窗口是活动的?

有没有什么方法可以获得当前打开的所有窗口的列表,并从Python中查看顶部的窗口(即活动?)? 这是在Ubuntu Linux上使用GNOME。 wnck看起来可能会这样做,但是它非常缺乏文档。

如何分配页面大小alignment的内存?

我需要分配内存应该是页面大小alignment。 我需要将这个内存传递给一个计算所有数据块异或的ASM代码。 我需要用malloc()来做到这一点。

在Linux中,属于内核数据段的物理内存页是否可交换?

我在问,因为我记得属于内核的所有物理页面都被固定在内存中,因此是不可擦除的,就像这里所说的: http : //www.cse.psu.edu/~axs53/spring01/linux/memory .PPT 但是,我正在阅读一篇研究论文,并且感到困惑,因为“(物理)页面经常在内核数据段和用户空间之间移动。 它还提到,相比之下,物理页面不会在内核代码段和用户空间之间移动。 我想如果一个物理页面有时属于内核数据段,有时属于用户空间,这意味着属于内核数据段的物理页面是可交换的,这是违背我目前的理解。 那么,属于内核数据段的物理页面是否可交换? unswappable? PS研究论文可以在这里find: https : //www.cs.cmu.edu/~arvinds/pubs/secvisor.pdf 请search“移动”,你会发现它。 再次,从[3G + 896M]到4G的虚拟内存区域属于内核,用于在ZONE_HIGHMEM(x86 32位Linux,3G + 1G设置)中映射物理页面。 在这种情况下,内核可以首先将该区域中的一些虚拟页面映射到托pipe当前进程的页面表的物理页面,修改一些页面表项并取消映射虚拟页面。 这样,物理页面有时可能属于内核,有时属于用户空间,因为它们在解映射之后不属于内核,从而变成可交换的。 这是原因吗?

我怎样才能保护在Linux的堆内存?

我想以只读方式创build一个堆内存块。 为此,我已经用mprotect()尝试了memalign() 。但是从memalign中我可以得到什么,memalign从进程堆中分配内存。 我想让堆的一部分只读。 有什么帮助吗? malloc()->mmap()->mprotect()一个假设的想法,但不知道是否可以帮助…上面实现的任何示例代码? 我需要保护堆内的内存地址。 与malloc()我得到的地址在0x10012008左右,而与mmap()它是0xf7ec9000.My的意图是使堆只能读取的一部分,只抓住任何可能试图通过该堆运行trampler。

如何停止/解决Java应用程序窃取Linux窗口pipe理器的焦点

我们想要在Java中快速构build小部件。 我们将它们覆盖在用专有第三方graphics软件包编写的显示屏上。 我们发现Java GUI从窗口pipe理器中窃取键盘焦点。 窗口pipe理器是fvwm,我已经尝试过configuration它,所以Java应用程序设置为不让焦点,而且如果它有焦点把它拿走并把它给另一个GUI。 如果我用Java应用程序运行它,它不起作用(只要鼠标在Java GUI上,它有键盘焦点) – 如果我交换一些标准的X GUI小部件(XEyes)来代替Java GUI,它就像一个魅力。 这使得Java不尊重ICCCM的说法(由fvwm的人维护)有所缓解。 我想知道如果其他人已经解决了这个问题,如果是的话如何。 到目前为止,我有几个select如何尝试和解决这个问题: 1)twiddle Java设置,希望如果我关掉焦点,也许它会把焦点控制交给窗口pipe理器(到目前为止,我已经尝试过“setFocusable(false)”在父JFrame上,这是行不通的。线程“ http://java.sun.com/javase/6/webnotes/trouble/TSG-Desktop/html/awt.html#gdaao ”表示我应该改为“Window.setFocusableWindowState(false)”有问题的GUI hasn但是我还没有完全相信Java会重新关注焦点 2)使用JNI在Java程序中进行低级别的X调用。 我认为这可能会工作,但是,我从来没有玩过低水平的X.我不确定我应该使用什么样的调用(XtSetKeyboardFocus()应该是危险的)或者我怎样才能识别我操作的graphics用户界面(在这方面fvwm是很好的,因为他们有一个graphics用户界面,让你点击另一个graphics用户界面,找出它的“名称”和“类”) 3)使用“更强”的窗口pipe理器。 一些不使用ICCCM的窗口pipe理器可能会更好地处理Java。 当然,有很多pipe理者,我不知道该集中注意力。 同样地,很多人似乎都没有明确指出应用程序的重点(大多数人似乎只关心广泛的政策)。