Articles of Linux操作系统

multithreading应用程序的核心转储只显示一个线程

我在c ++中有一个testing应用程序,在其main()启动几个线程,然后永远睡在main() 。 其中一个线程正在做一些导致段错误的事情,并且生成一个coredump(之前设置了ulimit -c unlimited)。 我用gdb打开核心,并看到与thread apply all bt或info threads ,我只有一个线程(在main()开始),这是不可能的,因为至lessmain()线程也应该运行。 问题是如何可能的剩下的线程被遗漏,并可能导致它? 这个寂寞的线程的回溯似乎没问题,没有什么奇怪的东西。 操作系统是Red Hat Enterprise 5.3,gdb-6.8。

在rshd.c源代码中缺lesspam_appl.h和pam_misc.h

我正在使用一个centOS 5.5操作系统 。 它显示/security/pam_appl.h和/security/misc.h文件丢失的错误。 其实我的rshd.c不加载PAM模块,可能是通过把这个库,它帮助我工作我的rshd罚款。 这就是为什么我发布这个问题。 错误:- rshd.c:90:31: error: security/pam_appl.h: No such file or directory rshd.c:91:31: error: security/pam_misc.h: No such file or directory 我search了很多,但没有得到任何有用的rpm给这些文件。 一些链接在这里 。 但不适合centOS。 帮我。 告诉我怎样才能克服这个问题。 编辑否1 你的第三个链接似乎有用。 当我尝试安装pam-devel时,显示一些错误。 当我跑步 ./configure –prefix=/usr \ –sysconfdir=/etc \ –docdir=/usr/share/doc/Linux-PAM-1.1.6 \ –disable-nis && make 它检查一些variables,然后它使对象文件,但最后显示, make[3]: *** [pam_xauth.lo] Error 1 make[3]: Leaving directory `~/Linux-PAM-1.1.6/modules/pam_xauth' make[2]: *** […]

x86-64 AMD上的CALL指令的操作数生成

以下是一个示例程序的objdump的输出, 080483b4 <display>: 80483b4: 55 push %ebp 80483b5: 89 e5 mov %esp,%ebp 80483b7: 83 ec 18 sub $0x18,%esp 80483ba: 8b 45 0c mov 0xc(%ebp),%eax 80483bd: 89 44 24 04 mov %eax,0x4(%esp) 80483c1: 8d 45 fe lea 0xfffffffe(%ebp),%eax 80483c4: 89 04 24 mov %eax,(%esp) 80483c7: e8 ec fe ff ff call 80482b8 <strcpy@plt> 80483cc: 8b 45 […]

使用PHP 5.3.x进行安全删除

有人知道一个好的PHP解决scheme删除或更好地从Linux系统擦除文件? 场景:文件被encryption并保存,当请求下载文件被复制到临时文件夹并被解密时。 这已经在工作了。 但是如何在发送给用户之后从临时位置删除文件呢? 在我看来,我有以下select: 通过“fopen”打开文件,并写入0,1(认为很慢) 将文件保存到Memcache而不是硬盘(可能是我的主机的问题) 在命令行或cronjob上使用somd 3rd pary工具(可能是安装问题) 目标:从硬盘上删除文件,无法恢复(擦除/覆盖)

使用sed添加背景颜色到标签?

是否可以使用sed来更改制表符(或任何其他文本)的背景颜色,例如,我可以运行类似于以下内容的东西? somefunction | sed -e 's/(some pattern)/(set bg color)\1(unset bg color)/g'

如何捕获任何用户在Unix / Linux中input的所有命令?

我想要捕获任何用户在Unix / Linux中input的所有命令。 有几个select像使用脚本命令或acct实用程序。 但是,他们的问题是他们从terminal到文件愚蠢的一切,或只是提供命令的摘要。 我正在寻找一个实用程序,它将为我提供所有用户使用命令参数键入的命令。 可能吗? 有没有其他的select,如挂钩到系统调用来获得这个?

Python的ctypes不加载在Mac OS X的dynamic库

我有一个C ++库repeater.so ,我可以在Linux中从Python加载以下方式: import numpy as np repeater = np.ctypeslib.load_library('librepeater.so', '.') 但是,当我在Mac OS X(Snow Leopard,32位)上编译相同的库并获得repeater.dylib ,然后在Python中运行以下代码: import numpy as np repeater = np.ctypeslib.load_library('librepeater.dylib', '.') 我得到以下错误: OSError: dlopen(/mydir/librepeater.dylib, 6): no suitable image found. Did find: /mydir/librepeater.dylib: mach-o, but wrong architecture 在Mac OS X上,我是否需要做一些不同的工作才能在Python中加载dynamic库?

确定两个文件path是否指向Linux / C下的同一个文件?

在Linux下,我有两个文件pathA和B: const char* A = …; const char* B = …; 我现在想确定,我应该open(2)他们两个… int fda = open(A, …); int fdb = open(B, …); …我会得到两个文件句柄打开文件系统中的同一个文件? 为了确定这一点,我想到了stat(2) : struct stat { dev_t st_dev; ino_t st_ino; … } 像(伪代码): bool IsSameFile(const char* sA, const char* sB) { stat A = stat(sA); stat B = stat(sB); return A.st_dev == B.st_dev […]

不能将数据包从一个接口路由到另一个接口

我有一个有2个接口eth0和eth1 。 eth0是192.168.0.250并连接到网关192.168.0.2 。 eth1通过192.123.123.10连接到192.123.123.10 。 我试图将数据包从192.123.123.10路由到网关192.168.0.2 ,这意味着我需要路由192.123.123.x数据包通过eth0接口进入eth1接口。 我将ip_forward文件设置为1 。 我运行这个命令: route add -net 192.123.0.0 netmask 255.255.255.0 dev eth0 route add default gw 192.168.0.2 我可以ping从129.123.123.10到192.168.0.250 ,但我不能ping通到192.168.0.2我认为数据包不被转发到eth0 。 我的路由表看起来像这样: gteway Genmask Flags Ref Iface 192.123.123.0 * 255.255.255.0 U eth1 192.168.0.0 * 255.255.255.0 U eth0 192.123.0.0 * 255.255.255.0 U eth0 default 192.168.0.2 0.0.0.0 UG eth0 谁能告诉我什么是缺less的? 先谢谢你。

我怎样才能拆分大文件?

我有一个很大的CSV文件(7.3GB; 16,300,000行),我怎样才能将这个文件分成两个文件?