草庐IT

install-write

全部标签

c - 在库中调用 write(2) 时禁用 SIGPIPE 信号

问题是否可以在写入pipe()FD时禁用信号(SIGPIPE)的提升,无需安装我自己的信号处理程序或禁用/在全局范围内屏蔽信号?背景我正在开发一个小型库,它偶尔会创建一个管道,fork()是一个临时的子/虚拟进程,它等待来自父进程的消息。当子进程收到来自父进程的消息时,它就死掉了(有意的)。问题子进程,在我无法控制的情况下,运行来自另一个(第三方)库的代码,这很容易崩溃,所以在我write()之前我不能总是确定子进程是活的到管道。这导致我有时会尝试write()到子进程端已经死/关闭的管道,并在父进程中引发SIGPIPE.我在其他客户将要使用的库中,因此我的库必须尽可能独立并对调用应用

linux - docker build error (apt-utils is not installed, cannot remove '/var/lib/apt/lists' : Directory not empty)

我正在尝试使用以下命令构建一个docker镜像dockerbuild-tblog.和Dockerfile:FROMruby:2.4RUNapt-getupdate-yqq\&&apt-getinstall-yqq--no-install-recommends\postgresql-client\&&rm-rf/var/lib/apt/listsWORKDIR/usr/src/appCOPYGemfile*.RUNbundleinstallCOPY..EXPOSE3000CMDrailsserver-b0.0.0.0我得到的结果如下:Step1:FROMruby:2.4--->ef296

linux - 如何为 Qt 应用程序创建 'install' 包?

通常在您使用的基于linux的操作系统上安装软件包./configuremakemakeinstall这是如何运作的?以及如何创建可以通过这种方式安装的包?我的应用程序使用Qt框架,我想我的目标是“MyPackage.tar.gz”之类的东西 最佳答案 您可以从您的项目中创建一个debian包。据我了解,您想创建一个用于分发的包,因此我建议您从您的项目中创建一个debian包。Here是对Debian打包系统的介绍。在文章中,他们在某些时候描述了如何创建处于构建过程核心的“规则”文件。这是我通常用于我的Qt/KDE项目的示例:#!/

linux - write() 时出现段错误,缓冲区约为 8MB(OSX、Linux)

我很好奇write()和read()在Linux/OSX/FreeBSD上可以处理什么样的缓冲区大小,所以我开始尝试像下面这样的愚蠢程序:#include#include#include#include#includeintmain(void){size_ts=8*1024*1024-16*1024;while(1){s+=1024;intf=open("test.txt",O_CREAT|O_WRONLY|O_TRUNC,S_IRUSR|S_IWUSR|S_IXUSR);charmem[s];size_twritten=write(f,&mem[0],s);close(f);prin

linux - 桥实用程序 "add bridge failed: Package not installed"

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭11年前。Improvethisquestion我已经为ARM交叉编译了bridge-utils。但是,在执行“brctladdbr”时,出现错误:addbridgefailed:Packagenotinstalled我不知道它的依赖关系。

python - sudo pip install python-Levenshtein 失败,错误代码为 1

我正在尝试在linux上安装python-Levenshtein库,但每当我尝试通过以下方式安装它时:sudopipinstallpython-Levenshtein我收到这个错误:Command"/usr/bin/python-c"importsetuptools,tokenize;file='/tmp/pip-build-LAmG4b/python-Levenshtein/setup.py';exec(compile(getattr(tokenize,'open',open)(file).read().replace('\r\n','\n'),file,'exec'))"insta

ruby - Make error installing ruby​​ gem json v1.8.3 : BFD (GNU Binutils for Debian) 2. 22 内部错误

当我尝试安装rubygemjson1.8.3时,我看到了类似于C编译器错误的内容这是我正在运行的命令:geminstalljson-v'1.8.3'我的输出是:Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingjson:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-2.2.1/bin/ruby-r./siteconf20160327-27188-189i1cj.rbextconf.rbcreatingMakefilem

c - C中的write()函数是阻塞的还是非阻塞的?

我在Linux手册页上寻找答案,但似乎找不到。我知道read()是阻塞的,但我仍然不确定write()。谁能指出任何文件以供澄清? 最佳答案 在read()上阅读POSIX和write().另请参阅open()等函数和pipe().这取决于您正在读取或写入的文件描述符的属性(例如O_NONBLOCK),以及底层文件类型(磁盘文件、管道、FIFO和套接字)vs字符或特殊block),等等。简而言之,read()和write()都可以是阻塞的或非阻塞的,这取决于具体情况。 关于c-C中的wr

linux - go install 总是使用 GOROOT/bin 而不是 GOPATH

我在使用goinstall命令时遇到了烦人的问题。每次我尝试在GOPATH的src目录中运行它时,结果文件都会在GOROOT/bin目录中创建一些原因。我在.bashrc中验证了我的环境变量,还运行了“goenv”(见下文),但没有发现任何问题:.bashrcexportGOBIN=$HOME/dev/src/go/binexportGOPATH=$HOME/dev/go-devexportPATH=$PATH:$GOBIN:$GOPATH/bin去环境GOARCH="amd64"GOBIN="/home/user/dev/src/go/bin"GOCHAR="6"GOEXE=""GO

linux - glassfish 无法启动 GLib-GIO-ERROR ** : Settings schema 'org.gnome.system.proxy' is not installed

我在openjdk7、debian7amd64上使用glassfish2.1。Glassfish无法启动,显示glassfish无法启动GLib-GIO-ERROR**:未安装设置架构“org.gnome.system.proxy”,有什么想法吗??? 最佳答案 尝试安装gsettings-desktop-schemas。 关于linux-glassfish无法启动GLib-GIO-ERROR**:Settingsschema'org.gnome.system.proxy'isnotin