草庐IT

Linux 内核

全部标签

go install - 在 Win10 上的行为与 osx 或 linux 不同

我将GOPATH设置为:~/Projects/golang在Linux、OSX和Win10上。我的代码在:$GOPATH/src/bitbucket.org/user/project/sublib在适当的并行位置中使用pkg。在Linux和OSX上,我可以在sublib目录中运行goinstall,lib构建并安装在$GOPATH/pkg/bitbucket.org/user/project/sublib.a一切都很好。但是在Windows10上使用相同的装备,我需要在安装时提供路径:>goinstallbitbucket.org\user\project\sublib有效,但main

linux - ldconfig 注册.so lib

我正在运行gobuild并遇到以下问题:/tmp/___go_build_myproject_:errorwhileloadingsharedlibraries:libSomeLib_x64.so:cannotopensharedobjectfile:Nosuchfileordirectory我在另一个目录中编译了libSomeLib_x64.so。来自thisquestion我知道我应该使用ldconfig来链接库。我尝试将lib路径添加到/etc/ld.so.conf和exportLD_LIBRARY_PATH但没有任何帮助。我怎样才能摆脱这个错误? 最

linux - 如何安装查找/内部位置

我正在尝试安装查找服务器,内部定位(https://github.com/schollz/find)(https://www.internalpositioning.com/)软件,它在RaspberryPi(3)上有一个服务器。安装通过使用golang进行,我不太清楚如何让go(lang)安装find包。在其他有用的安装页面(https://www.internalpositioning.com/server/)上给出的指示是安装go(我已经通过$sudoapt-getinstallgolang完成)并且确实告诉我我有go版本go1.7.4linux/arm(命令$goversion

linux - 使用 Go 在 Linux 中以编程方式安全地挂载网络位置

在Linux中,我可以像这样使用Go以编程方式挂载网络位置:funcmain(){varuser,passstringfmt.Println("username:")fmt.Scanln(&user)//ignoreerrorsforbrevityfmt.Println("password:")fmt.Scanln(&pass)cmd:=exec.Command("mount","-t","cifs","-o","username="+user+",password="+pass,"//server/dir","media/dir")cmd.Run()}问题:如果不使用sudo提升权限

linux - 避免解析 Xrandr 输出

我需要从xrandr获取信息到我的软件中。假设这就是我从xrandr-q输出的内容:Screen0:minimum8x8,current1920x1968,maximum32767x32767LVDS1connectedprimary1366x768+309+1200(normalleftinvertedrightxaxisyaxis)277mmx156mm1366x76860.02*+1360x76859.8059.961280x72060.001024x76860.001024x57660.00960x54060.00800x60060.3256.25864x48660.00640

linux - 尝试在 Windows 10 上为 Linux 构建 Go 代码时出错

我尝试使用CGO_ENABLED=1在Windows上构建Go代码。我有一个.bat文件setGOOS=linuxsetGOARCH=amd64setCGO_CFLAGS=-g-O2-wsetCGO_ENABLED=1gobuildmain.goconstants.gofunctions.go但是我得到错误:gcc_linux_amd64.c:Infunction'_cgo_sys_thread_start':gcc_linux_amd64.c:62:2:error:unknowntypename'sigset_t'sigset_tign,oset;^我该怎么办?我在任何地方都找不到这

linux - 从 Linux 内核虚拟文件系统中检索信息

我想编写一个实用程序,根据/proc目录中可用的数据进行一些报告。读取和解析我感兴趣的虚拟文件的内容就这么简单吗?在做类似的事情时,我已经看到在Python中实现了这种方法。在Go中有更好的方法来做到这一点吗?对于背景故事,我在Linux上使用ZFS并希望从此虚拟文件检索数据:/proc/spl/kstat/zfs/arcstats这是一个直接对该文件进行操作的Python程序。 最佳答案 IsthisassimpleasreadingandparsingthecontentsofthevirtualfileIamintereste

linux - 无法使用 pulseaudio 作为 systemd 单元捕获麦克风输入

我创建了一个使用these的小程序gobindings以记录来自默认麦克风的一些命令并执行相应操作。它作为一个独立的二进制文件(作为普通用户和root用户)工作正常,但是当我尝试将它转换为systemd单元时,go绑定(bind)中的Capture函数失败,错误提示为connectionrefused。程序在作为systemd服务运行时无法捕获麦克风输入。以下是几乎从here复制粘贴的单元文件.[Unit]Description=Commanderserviceprovidingvoicecommands[Service]ExecStart=/path/to/binary/binary

linux - sleep 过程直到在 Go 中完成

我正在尝试在Go中自动化一个流程。我已经能够实现线程并相应地执行该过程,但是输出是混合和匹配的。我想知道是否有一种方法可以根据程序的进程显示程序生成的输出。因此,如果任务A在任务B之前完成,我们会在B之前显示A的输出,反之亦然。packagemainimport("fmt""log""os""os/exec""sync")varurlstringvarwgsync.WaitGroupfuncnikto(){cmd:=exec.Command("nikto","-h",url)cmd.Stdout=os.Stdouterr:=cmd.Run()iferr!=nil{log.Fatal(e

go tool pprof -inuse_space 比 linux top shows 小很多

我的程序在后台运行。我使用linuxtop命令,它显示16g内存。但是当我想用gopprof-inuse_space查点的时候,我只给了200M。其他内存去了哪里? 最佳答案 一般情况下,os使用的内存(topVIRT所示)比pprof大。一个原因是当堆大小>($GOGC%+1)*(reachablenodessize):https://blog.golang.org/go15gc时会发生gc。.默认情况下,$GOGC为100,这意味着内存大小将是pprof显示的堆大小的两倍。但你似乎不是这种情况。