Articles of Linux操作系统

在Java中有什么办法共享内存位置来交换一些实时的小包?

有没有更好/更聪明的方式来从memory system get布尔值,但不使用任何TCP/UDP或local file system方法? For example: #both running as 1 application separately $ java -cp /var/tmp/J.jar System.Backend $ java -cp /var/tmp/J.jar System.Frontend 在Backend内存分配的地方,Frontend即时读取它们,它们都不能使用TCP / UDP和文件系统。

如何设置procmail将所有传入的邮件发送到两个,三个或更多的脚本,并在邮箱中留下一个副本?

我怎样才能强制每个传入的电子邮件的.procmailrc: 把这封电子邮件留在我的邮箱里,好像什么也没发生 通过stdin给script1.sh发邮件 通过stdin给script2.sh发邮件 通过stdin给script3.sh发邮件 通过stdin给script4.sh发邮件等等 我该怎么做?

为什么随机概率结果的方差足够大?

为什么随机概率结果的方差足够大? testing代码: function probability($chances) { asort($chances); $sum = array_sum($chances); $random = mt_rand(1, $sum); foreach($chances as $key => $chance) { if($random < $chance) return $key; } return $key; } $chances['case1'] = 10; $chances['case2'] = 30; $chances['case3'] = 60; $result = array(); for($i = 0; $i < 100000; $i++) @$result[probability($chances)]++; asort($result); $sum = array_sum($result); echo "Case\tCount\tOrig\tResult\n"; foreach($result […]

Linux 32位反汇编调用指令到下一个字节

我正在为32位和64位Linux操作系统创build驱动程序。 其中一个要求就是所有的代码都需要自己包含,而且没有任何呼叫。 在64位我没有问题,但在32位GCC似乎添加到下一个字节的调用指令。 search了一下后,我发现这个链接: http://forum.soft32.com/linux/Strange-problem-disassembling-shared-lib-ftopict439936.html 有没有办法在32位Linux上禁用这个function? 例如:32位拆卸: <testfunc>: 0: push %ebp 1: mov %esp, %ebp 3: call 4 <test_func+0x4> <…some operation on ebx as mentioned in the link above> 64位disassebmly: <testfunc>: 0: push %rbp 1: mov %rsp, %rbp 3: <…no call here> “testfunc”中根本没有调用。 即使那么为什么32位编译器添加这些“调用”指令? 任何帮助表示赞赏。

Shell程序 – 确定文件中的平均字长

我正在尝试编写一个shell程序来确定文件中的平均字长。 我假设我需要以某种方式使用wc和expr 。 指导正确的方向将是伟大的!

为什么这个代码以相反的顺序输出?

为什么第一个代码打印DCBA和第二个ABCD? 是0x44434241不等于DCBA? mov eax,4 push dword "DCBA" mov ebx,1 mov ecx,esp mov edx,4 int 0x80 add esp,4 mov eax,4 push dword 0x44434241 mov ebx,1 mov ecx,esp mov edx,4 int 0x80 add esp,4

是否有可能使用setitimerconfiguration3个以上的定时器?

如何使用setitimerconfiguration3个以上的定时器? Linux的手册页上说:“系统为每个进程提供三个间隔定时器,每个定时器在不同的时间域内递减,当任何定时器到期时,一个信号被发送到进程,定时器(潜在地)重新启动”。

如何在sed中匹配后replace一段文本

在sed ,我想在匹配后replace多行文本块,例如匹配“foo”(假设行号为0)后,我想将行-3的文本块replace为行+ 5,即在匹配行的第三行和匹配行的第五行之间的文本块,由另一个文本块bar1\nbar2 。 我想能够在两种情况下做到这一点: 1)在replace的块之后保留匹配的行; 2)删除匹配的行,连同那些行-3和+5。 请帮帮我。 谢谢。

Crontab和脚本

我有debian linux。 我从用户crontab -e创build了这个文本: 0 * * * * python /home/user/CronLogic.py 15 * * * * python /home/user/CronLogic.py 30 * * * * python /home/user/CronLogic.py 45 * * * * python /home/user/CronLogic.py */1 * * * * date > /tmp/TEST 最后一个string运行良好,但运行python脚本失败: /bin/sh: 1: /usr/bin/rcssserver: not found 代码是: #!/usr/bin/python cmd ='/usr/bin/rcssserver' err = open('CronLogicERRORS', 'a') server […]

Linux中持久的库searchpath

我想全局更改LD_LIBRARY_PATHvariables,以使用一些奇怪的第三方SDK,它将共享库放到自定义目录中。 所以,我添加了这样的脚本到/etc/profile.d: LD_LIBRARY_PATH =在/ usr /本地/ ebus_sdk / lib目录/ GenICam标准/斌/ Linux64_x64:在/ usr /本地/ ebus_sdk / lib目录/ QT / lib目录下:在/ usr /本地/ ebus_sdk / lib目录:$ LD_LIBRARY_PATH 导出LD_LIBRARY_PATH 重新启动后,我在命令行中input: alex @ alex-64:〜$ echo $ LD_LIBRARY_PATH 。 所以,这种方式是行不通的。 有没有其他方法可以将这些目录添加到库searchpath中?