Articles of Linux操作系统

send()总是发送整个缓冲区?

send()应该返回发送的字节数或者错误码,但是我发现所有的例子只是用错误码检查,而不是用发送的字节数。 //typical example int cnt=send(s,query,strlen(query),0); if (cnt < 0) return(NULL); //Hey, what about cnt < strlen(query)?

无法连接到远程MongoDB服务器

我正在尝试创build一个远程MongoDB服务器来处理我的Java项目。 我正在使用stream浪者+ ansible创造环境,但可惜我无法获得连接。 我总是通过networking拒绝连接。 本地主机上的相同代码完美地工作。 我正在使用stream浪汉箱: chef/centos-6.5 我的任务如下: – name: Download EPEL Repo get_url: url=http://dl.fedoraproject.org/pub/epel/6/x86_64/epel- release-6-8.noarch.rpm dest=/tmp/epel-release-6-8.noarch.rpm – name: Install EPEL Repo command: rpm -ivh /tmp/epel-release-6-8.noarch.rpm creates=/etc/yum.repos.d/epel.repo – name: Install libselinux-python yum: name=libselinux-python – name: Create the repository for 10Gen copy: src=10gen.repo.j2 dest=/etc/yum.repos.d/10gen.repo – name: Create the EPEL Repository. copy: src=epel.repo.j2 dest=/etc/yum.repos.d/epel.repo – name: Create […]

轮询系统调用超时

附加strace显示了很多这些消息: poll([{fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}, {fd=9, events=POLLIN}, {fd=10, events=POLLIN}], 6, 0) = 0 (Timeout) poll([{fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}, {fd=9, events=POLLIN}, {fd=10, events=POLLIN}], 6, 0) = 0 (Timeout) poll([{fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}, {fd=9, events=POLLIN}, {fd=10, events=POLLIN}], 6, 0) = 0 (Timeout) poll([{fd=5, events=POLLIN}, {fd=6, […]

g ++ conio.h:没有这样的文件或目录

我想用g ++编写一个使用conio.h头文件的程序。 我实际上想要做的是调用我在Borland编译器和Windows操作系统中使用的gotoxy函数。 所以第一个问题是:g ++中是否有gotoxy函数或等价物? 第二:为什么我不能包含conio.h? 我读了一些说我应该安装libstdc++ package ,我试过了,但似乎已经有了它(它是由gcc来完成的)。

如何仅显示来自aws s3 ls命令的文件?

我正在使用aws cli使用以下命令( 文档 )列出s3存储桶中的文件 : aws s3 ls s3://mybucket –recursive –human-readable –summarize 这个命令给了我下面的输出: 2013-09-02 21:37:53 10 Bytes a.txt 2013-09-02 21:37:53 2.9 MiB foo.zip 2013-09-02 21:32:57 23 Bytes foo/bar/.baz/a 2013-09-02 21:32:58 41 Bytes foo/bar/.baz/b 2013-09-02 21:32:57 281 Bytes foo/bar/.baz/c 2013-09-02 21:32:57 73 Bytes foo/bar/.baz/d 2013-09-02 21:32:57 452 Bytes foo/bar/.baz/e 2013-09-02 21:32:57 896 Bytes foo/bar/.baz/hooks/bar 2013-09-02 21:32:57 […]

启动一个应用程序在heroku? 什么是procfile? 'web:'命令?

我指的是这个网站,因为我正在学习python / flask并尝试使用heroku。 http://ryaneshea.com/lightweight-python-apps-with-flask-twitter-bootstrap-and-heroku 让我解释一下我所做的一切,让任何像我一样卡住的人都可以得到照片。 我正在使用Linux Backtrack命令行。 1.我启动了virtualenv,然后安装了flask virtualenv –distribute pip install flask 然后,连接的heroku和github,在github中也创build了一个回购。 写了一个简单的脚本,并保存在app.py 然后,要求创build一个procfile! web:python app.py 问题。 1.通俗文件中的procfile是什么? 2.当我inputweb:python app.py时,它显示'web :: command not found' 请详细说明这是如何工作的? 我还有一个疑问,sudo是至高无上的用户权利? 我们不应该在virtualenv中使用它? 而对于我们使用virtualenv究竟是什么? 一个简单的例子。 问题是非常基本的。 裸露。

在Ubuntu 16.04 Xenial和apache上安装php 5.3或5.4

我想在Ubuntu 16.04 Xenial和Apache上安装php 5.3或5.4。 一个教程指出我使用PPA,但他们没有帮助我需要什么。 我知道PHP 5.3和4已经过时,但我需要这个项目,这可能吗? 如果是的话,请教我如何在一步一步的程序与Apache2。

如何将Ctrl-Break发送到正在运行的Linux进程?

我正在debugging运行在Sun的JDK 1.4.2_18上的应用程序中的内存泄漏。 看来这个版本支持命令行param -XX:+ HeapDumpOnCtrlBreak,它应该导致JVM在遇到控制中断时转储堆。 如何将其发送到Linux机器上的后台进程? 看起来kill信号是这样的工作方式,但是我杀了-l没有报告任何显然是Ctrl-Break的东西,至less在我的Ubuntu盒子里。 更新:我用Sun JDK 1.4.2_18testing了Kill -3(_14是第一个以这种方式转储堆的),并且工作。 堆转储文件已创build,并且该进程仍在运行。

Linux调度器是否喜欢在fork()之后运行subprocess?

Linux调度器是否喜欢在fork()之后的父进程中运行subprocess? 通常,分叉进程会执行某种types的exec ,所以最好在父进程之前让subprocess运行(防止写入时复制)。 我假设孩子将在创build后执行exec作为第一个操作。 是我的假设(即调度程序将喜欢孩子的过程)是正确的。 如果没有,为什么? 如果是的话,是否有更多理由让孩子先行?

为什么在Linux内核的`struct file_operations`中closures函数被称为release?

我试图做一个Linux内核模块,它支持打开,closures,读取和写入操作。 所以我想通过结构file_operations注册这些函数,但是我无法find结构中的“closures”条目。 我想我应该使用“释放”而不是“closures”,但是我想知道为什么这个名字是“释放”而不是“closures”?