Articles of pipe理员

PHP的问题包括从命令行(或cronjob)

我正在尝试在我的AWS EC2实例上设置一个cronjob。 crontab文件中的实际条目没有错,但是当我尝试在命令行中运行命令时,我得到了这个响应。 PHP Warning: include(../scripts/connect.php): failed to open stream: No such file or directory in /var/www/htdocs/crons/emailnotifications.php on line 2 PHP Warning: include(): Failed opening '../scripts/connect.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/htdocs/crons/emailnotifications.php on line 2 PHP Warning: include(../scripts/functions.php): failed to open stream: No such file or directory in /var/www/htdocs/crons/emailnotifications.php on line 3 PHP Warning: include(): Failed […]

linuxpipe道参数列表太长

我使用下面的bash脚本来删除超过$天的文件。 find / home / xxx / conf_ * -maxdepth 0 -mindepth 0 -type d -ctime +5 -exec rm -rf {} \; 但是,如果文件超过32000 +,我得到 / usr / bin / find:参数列表太长 我如何将列表修剪到只有20000?

了解linuxpipe道ipc通信的生命线

我想了解一个pipe道的生命周期? http://linux.die.net/man/2/pipe 如果发送者或接收者死亡/退出,pipe道中的数据是否保持活动状态? 如果接收器不存在,是否可以创buildpipe道? (即还没有分叉)? 我需要从发件人发送数据到接收者。 但是,接收器可能还没有被分叉,并且可能在发送者之后的1〜2秒内被激活。 他们共享父进程,但接收者可能会在发送者之后的某个时刻被分叉,反之亦然。 发件人也可以随时完成处理并退出。 我试图看看是否使用pipe道而不是共享内存队列将为我工作。

Xmonad,如何绑定一个键来运行一个shell脚本?

我是xmonad的新手。 每次单击时是否可以运行一个shell脚本(例如〜/ x.sh),例如f1? 这在configuration文件中看起来如何? 现在我search了很多东西,没有find任何看起来像我想要的东西。

select()在python2和python3上的performance有何不同?

我想从本文中描述的同一个线程中的subprocess读取stdout和stderr 。 在Python2.7中运行代码时,按照预期工作,Python3.3中的select()调用似乎不是它应该的。 看看这里是一个脚本,它会在stdout和stderr上打印两行,然后等待,然后重复这个过程: import time, sys for i in range(5): sys.stdout.write("std: %d\n" % i) sys.stdout.write("std: %d\n" % i) sys.stderr.write("err: %d\n" % i) sys.stderr.write("err: %d\n" % i) time.sleep(2) 有问题的脚本将在subprocess中启动上面的脚本,并按照发布的链接中的描述读取它的stdout和stderr : import subprocess import select p = subprocess.Popen(['/usr/bin/env', 'python', '-u', 'test-output.py'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) r = [p.stdout.fileno(), p.stderr.fileno()] while p.poll() is None: print("select") ret = select.select(r, [], […]

Linux如何通过date命令的输出作为python程序的input作为命令行参数

我对Linux很新手。 我有一个非常简单的Python脚本,接受命令行参数并打印它们。 现在我只想将date命令的输出作为input传递给这个Python脚本并打印出来。 Python脚本看起来像这样。 import sys print "command line arguments recieved are" for i in range(0,len(sys.argv)) : print sys.argv[i] 在运行这个程序时,为了将date命令的输出传递给脚本,我只是做了 date | python exmp.py 这是正确的方式来传递一个命令的输出作为一个程序的input? 我的程序没有从date命令input。 我得到的输出是这样的 command line arguments recieved are exmp.py 我真的不知道我在做什么错事。 请帮我解决这个问题。

内核虚拟地址空间中的高内存映射

超过896MB的线性地址对应于高存储区ZONE_HIGHMEM。 所以页面分配器function在这个区域不起作用,因为它们给出ZONE_NORMAL和ZONE_DMA中直接映射的页面帧的线性地址。 我对Undertanding linux内核中指定的这些行感到困惑: 当他们说“在64位硬件平台ZONE​​_HIGHMEM总是空的时候”是什么意思? 这个突出显示的语句意味着什么:“高内存页框的分配只能通过alloc_pages()函数完成,这些函数不返回线性地址,因为它们不存在, 而是函数返回页面描述符的线性地址第一个分配的页框,这些线性地址总是存在,因为在内核初始化期间,所有的页面描述符在低内存中一次又一次地被分配 。 这些页面描述符是什么,896MB是否已经包含了整个RAM的所有页面描述符。

当进程处于阻塞/挂起状态时进程是否保存在主内存中?

当进程P1处于阻塞状态或暂停状态时,内存pipe理系统是否会将其从主内存中移出以便进入活动进程的空间? 如果程序确定返回程序的程序调用堆栈,则程序计数器(PC)的内容和程序状态字(PSW)的内容被存储? 操作系统是否将其全部保存在辅助存储器中,或者是保留在主存储器中的P1的暂停/阻塞过程的一部分 ?

围绕一个疯狂的设备界面进行路由

我inheritance了一大堆代码,与内部开发的设备进行交stream。 所述设备具有慷慨而特别的networking接口: 它始终将其IP地址设置为172.16.0.50,并假定它直接连接到172.16.0.250(通过物理电缆) 它将UDP心跳发送到.250:2000,无论是否绑定到该端口 它可以发送UDPstream量到.250:9001到.250:9016 它通过TCP在.50:7734处暴露一个基于文本的pipe理界面 它将UDP绑定为.50:7734,并接受该端口上的所有传入stream量作为时间戳,以便与自身进行同步 不幸的是,修改设备的代码是绝对不可能的。 来源是可用的,未装箱的硬件可用于testing,但部署的盒子是积极的密封的环境,并获得闪存芯片启动是一个为期一整天的过程。 我有兴趣将这些设备连接到同一台主机,但我的背景是在应用程序,networking和一些embedded式 – 不联网。 每个设备都有一个专用的networking接口(例如p1p1,p1p2等),我认为这应该救我,但是我不确定如何设置Fedora做必要的冒充,而且我不确定如何设置我的应用程序代码来区分接口p1p1 – IP 172.16.0.50 – 端口9000上的UDPstream量与来自接口p1p2 – IP 172.16.0.50 – 端口9000的UDPstream量之间的区别,或指定我想通过UDP在172.16广播给定的数据报.0.50:9000在接口p1p1 vs 172.16.0.50:9000在接口p1p2。 我相信我可以用静态路由条目和iptables规则的双向端口转发的足够聪明的组合来解决这个问题,但是我想在花费几天的时间之前就问一个根本上有缺陷的方法。 什么是最令人愉快的方法?

Linux给malloc()多less内存?

这是一个Linux系统问题,而不是一个编码问题。 当我使用“top”来检查程序的内存使用情况时,它报告的值是内存分析器Valgrind的Massif给出的实际堆分配的3-4倍。 这是一个大的程序,差别是数百兆字节。 Valgrind手册仅给出部分解释: (Massif)不会直接测量使用mmap,mremap和brk等较低级系统调用分配的内存。 堆分配函数(如malloc)build立在这些系统调用之上。 例如,在需要的时候,分配器通常会调用mmap来分配一大块内存,然后响应对malloc等的调用,将那块内存块交给客户端程序。 Massif直接测量这些更高级别的malloc和等级调用,而不是较低级别的系统调用。 好,但是我真的从系统中拿走了多less内存? 我需要能够在一台机器上运行尽可能多的程序实例,所以我需要知道有多less内存仍然可用。 页面alignment等无法解释报告的内存使用情况中数百兆字节的差异。 另外,什么决定了底层mmap()调用的块大小? 我看到一个64MB的数据块一度被占据,而这个数据看起来非常大。