【linux – 在两个帧缓冲程序之间切换】教程文章相关的互联网学习教程文章

linux-有关程序集/ C中变量的内存管理的一般问题

首先:我知道有很多网页(包括有关stackoverflow的讨论)都在讨论.bss和.data之间用于数据声明的区别,但是我有一个特定的问题,但是我没有找到答案这些页面很不幸,所以我在这里问:-). 我是汇编界的初学者,所以如果问题很愚蠢,我深表歉意:-). 我正在x64 64位linux操作系统上学习汇编语言(但我认为我的问题更笼统,可能不特定于os / arcthitecture). 我发现.bss和.data节的定义有些奇怪.我总是可以在.bss中声明一个变量,然后在我的代码(....

php-如何使用Docker在Alpine Linux上部署Laravel Web应用程序?【代码】

我使用PHP的基本映像(尤其是https://hub.docker.com/_/php/的7.3-apache-stretch)成功地在ECS上部署了Laravel Web应用程序 充分了解有关Docker中的Alpine Linux映像的讨论(允许最终映像尺寸显着减少),我想对其进行一次测试,以了解其性能.不幸的是,尽管使用CLI版本非常容易(使用7.3-cli-alpine3.9),却没有启用apache的版本.我需要一个Dockerfile用作我的开发基础. 仅Apache 浏览SO,我发现How do I run Apache 2 on Alpine in Docker...

如何对Linux中无响应的Java应用程序/进程进行故障排除【代码】

假设您的应用程序无响应,并且您无法将调试器附加到该应用程序,因为它拒绝所有操作.您所拥有的只是一个Linux Bash和进程ID.您将如何调查此问题?您将使用哪些工具?我的目标是提高使用Java的故障排除技能. 我们在客户现场生产中遇到的这个特殊问题.解决方法:您可以通过发出以下命令从应用程序中进行线程转储:kill -3 这将为您提供有关线程当前状态的一些信息,并有望帮助诊断问题.但是,诀窍不是采取线程转储,而是读取产生的线程转储...

c-回显控制台应用程序中的问题(Linux)【代码】

我在控制台应用程序中遇到一个奇怪的问题. 首先,代码片段: main.cpp#include "DebugInterface.h"static sigset_t signalSet; static pthread_t CleanupHandlerThread; DebugInterface* debugInterface = NULL;void* CleanupHandler (void* param) {int32_t sig, err;err = sigwait (&signalSet, &sig);delete debugInterface;debugInterface = NULL;exit (EXIT_SUCCESS);return NULL; }int32_t main(int32_t argc, char** argv) {...

linux-Erlang:守护程序“ init.d”脚本无法启动【代码】

我有一个管理Erlang守护程序的python脚本.系统初始化后,通过外壳使用时一切正常. 现在,当我在“ /etc/init.d”下包含相同的脚本,并在“ /etc/rcX.d”中正确设置了符号链接时,python脚本仍然可以工作,但是我的Erlang守护程序无法启动,并且没有明显的痕迹(例如crash_dump,dmesg等) 我也尝试通过’erl -env HOME / root’来设置环境变量“ HOME”,但是还是没有运气. 有什么线索吗?解决方法:要以与系统相同的方式手动运行脚本,请使用s...

linux-在其他应用程序创建的现有套接字上查看套接字选项吗?【代码】

我想测试是否在现有套接字上设置了特定的套接字选项.即,几乎您可以在其中看到的所有内容:#!/usr/bin/env python '''See possible TCP socket options'''import socketsockettypelist = [x for x in dir(socket) if x.startswith('SO_')] sockettypelist.sort() for sockettype in sockettypelist:print sockettype任何人都知道如何在现有套接字(即由其他进程创建的套接字)上看到这些选项吗? las,我阅读的关于Python套接字编程的几...

c-为什么我的linux信号处理程序只运行一次【代码】

#include <iostream> #include <signal.h> #include <fenv.h> #include <string.h>void signal_handler(int sig, siginfo_t *siginfo, void* context) { std::cout << " signal_handler " << fetestexcept(FE_ALL_EXCEPT) << std::endl;throw "exception"; }void divide() {float a = 1000., b = 0., c, f = 1e-300;c = a / b;std::cout << c << " and f = " << f << std::endl; }void init_sig_hanlder() {feenableexcept(FE...

Linux程序中的路径管理

我有一个新手Linux编程问题.假设我有一个使用Autotools进行编译和部署的项目,并且有要安装在/ var / something或/usr/share / something等位置的数据文件,但是在Autoconf中,我可以更改这些安装路径.程序应如何找到这些文件?如何知道它们的实际安装位??置(如果安装在任何地方,因为该程序即使未安装也应该可以运行,但可以在其构建位置运行)?解决方法:通常,如果程序依赖于存储在构建系统可调整的特定位置的文件,则应将此路径作为编译...

linux-ptrace’ing多线程应用程序【代码】

我有一个类似“调试器”的应用程序,名为hyper-ptrace.它启动与NPTL多线程的user_appl3. hyper-ptrace的主循环是:wait3(&status, FLAGS, &u); // find a pid of child, which has a signal switch (signal = WSTOPSIG(status)) {case SIGTRAP:do_some_analysis_of_the_child(pid, &status) // up to several msbreak; } ptrace(PTRACE_CONT, pid); // discard signal, user_appl3 doesn't know anything //about this SIGTRAPSIGTR...

Linux基础:目录名称含义,监测程序【代码】

Linux 文件系统 常见Linux目录名称:目录 用途/ 虚拟目录的根目录。通常不会在这里存储文件/bin 二进制目录,存放许多用户级的GUN工具/boot 启动目录,存放启动文件/dev 设备目录,Linux在这里创建设备节点/etc 系统配置文件目录/home 主目录,Linux在这里创建用户目录/lib 库目录,存放系统和应用程序的库文件/media 媒体目录,可移动媒体设备的常用挂载点/mnt 挂载目录,另一个可移动媒体设备的常用挂载点/opt 可选目录,常用于存...

c-如何判断程序是否在x86 / x64或ARM Linux平台上运行【代码】

在C程序中,我想做不同的事情.该程序将在基于x86 / x64的GNU / Linux系统以及基于ARM的系统上运行,例如在PC或RaspberryPI上. GCC中是否有预定义的宏可以告诉平台? 就像是#ifdef _X64_/do x64 stuff #elif _ARM_ //do arm stuff #endif也许那是错误的方法?我将使用Makefile进行编译,并且可以摆脱自己的定义. 最好/最安全的方法是什么?解决方法:这些帖子已经回答了:GCC predefined macros for architecture X、Detecting CPU arch...

本机Linux应用程序可编辑Win32 PE,例如ResHacker【代码】

我想运行自动修改.dll服务,用户提交特定的.dll,我在服务器上对其进行修改,然后用户可以下载.dll的修改版本.是否有本机Linux应用程序提供常见的Win32 PE修改功能,例如图标,字符串,加速器,对话等,这些功能至少提供命令行或脚本API?解决方法:i586-mingw32msvc-windres作为mingw软件包的一部分.NAMEwindres - manipulate Windows resources.仅限于命令行,但是您可以检查源代码,因为binutils是免费的(如在语音中一样).

linux-如何在不指定完整路径的情况下运行程序?【代码】

为什么当我键入“ rails”时,它将不起作用…但是当我键入“ /var/lib/gems/1.8/bin/rails”时,它将起作用吗?如何绑定它,这样我就不必每次都键入完整路径?解决方法:您需要编辑$PATH环境变量. 例如,在您的.bashrc中:export PATH=$PATH:/var/lib/gems/1.8/bin或者,您可以在.bashrc中使用别名:alias rails=/var/lib/gems/1.8/bin/rails或者,您甚至可以将rails二进制文件(或符号链接)放入$PATH中列出的目录之一.要查看这些目录,请键...

linux-iptables脚本可阻止除所需应用程序以外的所有Internet访问【代码】

背景: 我想拥有一个shell脚本,该脚本可以阻止所有进入我计算机的入站/出站流量,除非我决定要使用浏览器或其他一些应用程序,在这种情况下,我会召唤它,只有那些应用程序可以运行. 我研究过以前由聪明人制作的脚本(最后是到资源的链接),并花了一些时间自己学习使用iptables(仍然在这方面工作). 这是完成的工作的结果: 结果: 在运行Shell脚本之前,创建了一个名为internet的组: 须藤groupadd互联网 Shell脚本:#!/bin/sh #only allo...

拦截/重新路由TCP SYN数据包到Linux中的C程序

我试图找到一种最简单的方法来拦截我的计算机在c程序中发送的TCP SYN数据包.我知道有几种选择.一种方法是监视所有流量,而仅选择性地使用SYN数据包,其余则不做任何事情.我遇到的另一个选择是使用数据包筛选实用程序,它将SYN数据包转发到我的程序.有人建议我使用netfilter. 我想知道是否还有其他选择,还是应该深入研究netfilter.此外,有关如何使用netfilter做到这一点的任何指示都将有所帮助. 编辑:我想拦截SYN数据包,可能需要修改它...