Tag: linux

如何将Linux可执行文件添加到.gitignore?

你如何添加linux可执行文件到.gitignore而不给它们一个明确的扩展名,也不要把它们放在特定的/ bin目录中? 大多数的命名与C编译时没有“.c”扩展名。

Docker:你是否试图连接到启用TLS的守护进程而不使用TLS?

在Linux Mint 17.1 x86_64上,内核为3.13.0-48-generic和OpenSSL版本为1.0.1f-1ubuntu2.11; 每当我尝试执行任何docker命令(如docker login或docker run hello-world ),我得到以下错误: FATA[0000] Get http:///var/run/docker.sock/v1.18/info: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS? 我已经使用sudo usermod -aG docker username创build了一个名为sudo usermod -aG docker username的组,我已经尝试以root用户身份运行这些命令,并按照这里的指示将$(boot2docker shellinit 2> /dev/null)到~/.profile ,然后重新启动PC并重新安装OpenSSL。 任何想法我错过了什么? 这可能是一个硬件问题?

我可以共享一个文件描述符到Linux上的另一个进程,或者他们是本地进程?

说我有2个进程,ProcessA和ProcessB。 如果我在ProcessA中执行int fd=open(somefile) ,那么我可以通过IPC的文件描述符fd的值传递给ProcessB,并让它操纵相同的文件?

Linux上的POSIX AIO和libaio的区别?

我似乎明白: 在<aio.h>中原型化POSIX AIO API,并将程序与librt(-lrt)链接起来,而<libaio.h>的libaio API和程序与libaio(-laio)链接。 我无法弄清楚的是: 1.内核是否以不同的方式处理这些方法? 2.是否必须使用O_DIRECT标志来使用它们之一? 正如在这篇文章中提到的 ,当使用libaio时,libaio可以正常工作,不需要O_DIRECT 。 根据R.Love的“ Linux系统编程”一书的说法,Linux只支持用O_DIRECT打开, 才支持常规文件上的aio (我认为是POSIX AIO)。但是我写的一个小程序(使用aio.h,与-lrt连接)没有O_DIRECT标志打开的文件上的aio_write没有问题。

如何启用mysqlnd的PHP?

我有PHP安装和运行(版本:5.3.17),我想切换到mysqlnd(在phpinfo mysqlnd根本不存在)。 我读过,为了设置它,你需要更新./configure命令: ./configure –with-mysql=mysqlnd \ –with-mysqli=mysqlnd \ –with-pdo-mysql=mysqlnd \ 当我尝试安装与yum install php-mysqlnd我得到一个错误: —> Package php-mysqlnd.x86_64 0:5.3.17-1.26.amzn1 will be installed –> Processing Conflict: php-mysql-5.3.17-1.26.amzn1.x86_64 conflicts php-mysqlnd –> Finished Dependency Resolution Error: php-mysql conflicts with php-mysqlnd 解: ./configure命令是源代码编译过程的一部分,所以这些步骤是: yum erase php-mysql yum install php-mysqlnd 然后可以检查: php -m | grep mysqlnd 谢谢Sebastian Kessler!

malloc如何在multithreading环境中工作?

典型的malloc (针对x86-64平台和Linux操作系统)是否在开始时天真地locking了一个互斥锁,并在完成时释放它,还是以更聪明的方式locking互斥锁,从而减lesslocking争用? 如果这确实是第二种方式,它是如何做到的?

整个一个核心致力于单一过程

在Linux中有没有办法将一个CPU内核分配给特定的进程,并且在这个内核上不应该有任何其他进程或中断处理程序? 我已经阅读了有关Linux 绑定进程使用taskset实用程序的CPU的进程亲和力,但这并不能解决我的问题,因为它只是试图将给定的进程仿射到该核心,但是可能在该核心上安排其他进程 ,这是我想要避免的。 我们应该改变内核代码进行调度吗?

什么时候应该使用TCP_NODELAY和TCP_CORK?

我明白,他们都禁用Nagle的algorithm。 什么时候应该/不应该使用他们中的每一个?

哪个实时优先级是Linux中的最高优先级

在Linux实时进程优先权范围1至99中,我不清楚哪一个是最高优先级,1或99。 “理解Linux内核”的第7.2.2节(O'Reilly)认为1是最高优先级,考虑到正常进程的静态优先级从100到139,其中100是最高优先级: “每个实时过程都与实时优先级相关联,实时优先级从1(最高优先级)到99(最低优先级)。” 另一方面,sched_setscheduler手册页(RHEL 6.1)声称99是最高的: “在其中一个实时策略(SCHED_FIFO,SCHED_RR)下计划的进程的sched_priority值的范围为1(低)到99(高)。 哪个是最高的实时优先级?

Linux中的最大PID

我正在将一个应用程序从Tru64移植到Linux,并使用limits.h中定义的PID_MAX。 Linux没有这个定义。 如何在c中findPID_MAX而无需手动读取/proc/sys/kernel/pid_max ? 有图书馆吗?