Articles of Linux操作系统

无法删除FileA以外的其他文件夹

如何删除文件夹中除FileA之外的所有其他内容,甚至是隐藏文件? 我使用Ubuntu。 我尝试了以下失败 rm [^fileA]

在C中的subprocess和父进程之间的通信linux:父进程不阻塞

我想让父进程和subprocess在C使用pipe道进行通信。 首先,我想要父母传递一个string,然后孩子承认它。 我创build了两个文件描述符。 一个为父母对孩子即读音pipe和另一个反向笔pipe。 问题是它不把我的数据作为input。 另外,我希望printf语句(如“input您的数据”)被打印一次,但自fork之后,有两个进程,所以它们被显示两次。 任何替代scheme? //readpipe[0] = child read //readpipe[1]= parent write //writepipe[0]=parent read //writepipe[1]=child write #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <unistd.h> #include <string.h> int main(void) { pid_t pid; int r; /* Hope this is big enough. */ char buf[1024]; char cp[50]; char ans; int readpipe[2]; int writepipe[2]; int a; int […]

什么是SuSE Linux的最大Java堆空间?

这个问题与Java拒绝开始 – 无法为对象堆留出足够的空间有关 ,应该很容易弄清楚。 然而; 我的search没有产生任何有用的东西。 基本上,我们有两个32位操作系统(RedHat&SuSE)在不同的机器上使用相同的硬件。 两者都使用相同的JVM执行相同的命令行。 RedHat工作得很好,但SuSE报告没有足够的内存。 我们只需要知道这是否是我们正在使用的SuSE版本的限制,或者是否是其他内容。 “猫/ proc /版本”给我们: Linux version 2.6.5-7.244-bigsmp (geeko@buildhost) (gcc version 3.3.3 (SuSE Linux)) #1 SMP Mon Dec 12 18:32:25 UTC 2005 'uname -a'给了我们以下两种types的机器: UTC 2005 i686 i686 i386 GNU/Linux

在Debian Linux服务器上安装新版本的python

我SSH到运行Debian Linux(版本6.0.2)运行我的Python脚本的服务器。 安装在服务器上的python版本是2.6.6。 它安装在/usr/bin/python2.6 (并且象征性地链接到/ usr / bin / python )。 我对Linux很陌生。 我想在服务器上安装python 2.7.8,而不会对服务器的其他用户产生影响。 做这个的最好方式是什么? 我的想法是安装在/usr/bin/python2.7中,以便我可以使用如下运行我的脚本: $python2.7 myScript.py 但是我不完全知道这样的安装将如何影响其他用户。 另外,如果我想安装包(如cv2),我应该如何去做我的版本的Python

可加载的内核模块编程和系统调用拦截

假设我们想拦截退出系统调用并在任何进程调用它时在控制台上输出消息。 为了做到这一点,我们必须编写自己的假退出系统调用,然后让内核调用我们的假退出函数而不是原来的退出调用。 在我们的假退出呼叫结束时,我们可以调用原来的退出呼叫。 为了做到这一点,我们必须操纵系统调用表数组(sys_call_table)。 通过使用sys_call_table数组,我们可以操纵它来使sys_exit入口指向我们新的假退出调用。 我们必须存储一个指向原始sys_exit调用的指针,并在我们将消息打印到控制台时调用它。 源代码 : #include <linux/kernel.h> #include <linux/module.h> #include <sys/syscall.h> extern void *sys_call_table[]; asmlinkage int (*original_sys_exit)(int); asmlinkage int our_fake_exit_function(int error_code) { /*print message on console every time we *are called*/ printk("HEY! sys_exit called with error_code=%d\n",error_code); /*call the original sys_exit*/ return original_sys_exit(error_code); } /*this function is called when the module is *loaded […]

linux nasm程序集在terminal清除屏幕

有没有办法用nasm清除terminal窗口中的屏幕? 清除屏幕,我的意思是模拟Ctrl-L热键。 删除窗口中的所有文本。 这是可能做在nasm大会? 提前致谢, Rileyh

在linux中相当于Tasklist.exe

我想在Ubuntu Linux中开发任务pipe理器。 我在Eclipse中运行的窗口中有一个任务pipe理器。 我正在得到输出。 但在Linux中,find正在运行的进程的“tasklist.exe”的等效方法是什么? 请帮帮我..

embedded在应用程序中的Python解释器无法加载本地模块

我有一个应用程序静态链接到libpython.a (2.7)。 从应用程序的解释器中,我尝试导入time模块( time.so ),该模块失败: ImportError: ./time.so: undefined symbol: PyExc_IOError 所以,这个模块有没有解决的符号: nm -D time.so | grep PyExc_IOError U PyExc_IOError 我想这个符号在连接应用程序时被链接器丢弃了。 好的,我现在将libpython与所有符号链接在一起: … -Wl,-whole-archive -lpython -Wl,-no-whole-archive … 符号现在在那里: $ nm app | grep PyExc_IOError 8638348 D PyExc_IOError 08638ca0 d _PyExc_IOError 但是我仍然得到相同的导入错误。 哪里有问题?

如何使用ptrace(2)来改变syscalls的行为?

有没有任何指南或例子(尤其是ARM的)或使用ptrace库来影响其他进程的执行? 例如,为了使它相信一些数据出现在文件描述符上(即释放select/轮询一些结果和“回答”下面的内核之前读取系统调用)。 期待涉及PTRACE_SYSEMU的事情。 可以用便携的方式来完成吗? 我想要像libc重写LD_PRELOAD技巧,但可以在运行时附加。 可以用一些gdb命令来完成吗? 理想的变种是,如果有一些库可以方便地挂载到系统调用中,并在实际调用(或模拟它们)之前进行编辑,就像使用LD_PRELOAD进行调用一样。 @link 使用PTRACE_SYSEMU的任何好的指南?

NVCC CUDA交叉编译无法find“-lcudart”

我已经在Ubuntu虚拟机上安装了CUDA 5.0和NVCC,甚至在编译CUDA C程序时也遇到了问题。 错误如下: user@ubuntu:~/CUDA$ nvcc helloworld.cu -o helloworld.o -target-cpu-arch=ARM -ccbin=/usr/bin/arm-linux-gnueabi-gcc-4.6 –machine=32 /usr/lib/gcc/arm-linux-gnueabi/4.6/../../../../arm-linux-gnueabi/bin/ld: skipping incompatible /usr/local/cuda-5.0/bin/../lib/libcudart.so when searching for -lcudart /usr/lib/gcc/arm-linux-gnueabi/4.6/../../../../arm-linux-gnueabi/bin/ld: skipping incompatible /usr/lib/libcudart.so when searching for -lcudart /usr/lib/gcc/arm-linux-gnueabi/4.6/../../../../arm-linux-gnueabi/bin/ld: cannot find -lcudart collect2: ld returned 1 exit status 我试图研究这个问题,并遇到这个链接: 跳过不兼容的libcudart.so当search-lcudart 所以我遵循了在该链接上提供的build议,并添加了 /usr/local/cuda-5.0/lib64 和 /usr/local/cuda-5.0/lib 到我的LD_LIBRARY_PATH环境variables,现在这是结果 user@ubuntu:~/CUDA$ echo $LD_LIBRARY_PATH /usr/local/cuda-5.0/lib:/usr/local/cuda-5.0/lib64 user@ubuntu:~/CUDA$ 但问题依然存在,请大家帮忙。