Articles of Linux操作系统

dynamic添加条目到sysctl

考虑这个代码: int procmon_state = 0; static struct ctl_table_header *procmon_table_header; static ctl_table state_table[] = { { .procname = "state", .mode = 0666, .proc_handler = &proc_dointvec_minmax, .data = &procmon_state, .maxlen = sizeof(int), .extra1 = "\x00\x00\x00\x00" /*0*/, .extra2 = "\x01\x00\x00\x00" /*1*/ }, { 0 } }; static ctl_table procmon_table[] = { { .procname = "procmon", .mode = 0555, […]

如何在文件中grep“\ n”

示例文件:abc.ksh echo "This is a sample file." >> mno.txt echo "\nThis line has new line char." >> mno.txt 我想要 echo "\nThis line has new line char." >> mno.txt 作为输出。

如何解决在Linux 32位机上的REG_EIP未声明(首次在此函数中使用)错误?

我在用C语言编写的用gcc编写的信号处理器程序时遇到了错误,在发生分段错误后显示转储的寄存器值。 当我尝试使用代码访问它时: void print_registers(FILE *fd, ucontext_t *ctx, bool fpu = false) { const char *flags_str[] = { "CF", 0, "PF", 0, "AF", 0, "ZF", "SF", "TP", "IF", "DF", "OF", 0, 0, "NT", 0, "RF", "VM", "AC", "VIF", "VIP", "ID" }; greg_t *regs = ctx->uc_mcontext.gregs; void *eip[1] = { (void*)regs[REG_EIP] }; char **symbol = backtrace_symbols(eip, 1); […]

在Linux上编译C#+ WPF以便在Windows上运行

我有一个C#应用程序,其中一些部分是使用WPF(Mono不支持)编写的。 有没有可能在Linux上编译这个应用程序? 最终,应用程序将在Windows上运行,但它是一个更大的框架的一部分,我们的整个构build过程运行在Linux上,所以我希望能够在Linux上编译C#应用程序。

我如何从linux命令validationErlangconfiguration文件

我可以运行命令来validationconfiguration文件 file:consult("settings.config"). 我可以从一个Linux命令做到这一点? 我知道我可以打开erl shell并运行这个命令,但是我想用一个shell命令来完成

Xlib:closures窗口总是会导致致命的IO错误?

我不知道为什么会发生这种情况,但是我在C ++中使用Xlib创build的任何窗口在尝试closures时都会向terminal输出一个错误,并使用Xbutton。 我可以没有错误地以编程方式closures它,它只是Xbutton。 错误如下: XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":0" after 483 requests (483 known processed) with 0 events remaining. 请求数量每次都是不同的,但总是有0个事件。 为什么会这样呢? 原因似乎并不是我的代码,因为它不pipe是什么,也不向队列发送closures事件。 我试过拦截Atom WM_WINDOW_DELETE,并且在closures窗口时,它不会运行在期望的代码上。 编辑:添加事件循环代码。 while(XPending(display)) { XNextEvent(display, &event); pthread_mutex_unlock(&mutex); if(event.type == Expose) { XWindowAttributes getWindowAttributes; pthread_mutex_lock(&mutex); XGetWindowAttributes(display, window, &getWindowAttributes); if(state.currentState == STATE_NORMAL) { state.normX = getWindowAttributes.x; state.normY […]

是否有可能在C ++中禁用stderr?

我用libxml2编写了一个用于linuxparsing的程序。 虽然它的工作,HTMLparsing器写了很多错误到stderr。 是否有可能完全禁用stderr(或将其redirect到/ dev / null而不必使用redirectshell脚本运行)? 我可以生活在不得不写我自己的错误标准输出,我只是想摆脱这些错误。

全屏幕摆动框架在Linux中没有正确对焦(Windows很好)

我有一个应用程序,产生了几个全屏无装饰框架(基本上控制所有的屏幕空间)。 我的问题是,某些框架上的某些button被devise为“切换屏幕”,这基本上意味着显示另一个框架,而不是当前的框架。 我已经在Windows中使用这个轻松实现了这一点: target.setVisible(true); target.requestFocus(); this.parent.setVisible(false); target是我要切换到的帧。 这工作,因为最初,我设置所有框架除了第一个“主”框架不可见。 现在,当我把它移植到Linux环境中时,在改变帧的时候会出现一个难看的“闪烁”。 在这一瞬间,我可以看到我的桌面背景和我的应用程序背后存在的任何打开的窗口。 我之前在Windows中遇到了这个问题,并通过将目标框架集中到旧的目标框架之前,将其固定。 任何想法如何解决这个Linux的具体问题? 编辑: setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); setUndecorated(true); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); setBounds(0,0,screenSize.width, screenSize.height); this.getContentPane().setLayout(null); setVisible(true); validate();

汇编语言中的分割错误

我正在学习AT&T x86汇编语言。 我试图编写一个汇编程序,它采用整数n,然后返回结果(n / 2 + n / 3 + n / 4)。 这是我所做的: .text .global _start _start: pushl $24 call profit movl %eax, %ebx movl $1, %eax int $0x80 profit: popl %ebx popl %eax mov $0, %esi movl $4, %ebp div %ebp addl %eax, %esi movl %ecx, %eax movl $3, %ebp div %ebp addl […]

如何杀死一个PID不断变化的进程?

我知道我可以使用这个技巧if (fork()) exit(0); 改变当前进程的PID。 所以,下面的程序会有一个很快改变的pid。 如何杀死这样的进程? 有没有比执行大量killall procname更好的方法,直到能够在fork之前运行kill() ? 我知道这不是一个“进程”,但是每个进程只运行几微秒。 #include <unistd.h> #include <stdlib.h> #include <stdio.h> int main() { pid_t self = getpid(); while (1) { if (fork()) exit(0); if (self + 10000 < getpid()) break; // Just to kill it after some time usleep(1000); } return 0; } 我发现列出进程的唯一方法是执行ps -A | grep procname ps […]