草庐IT

Unix-ish

全部标签

c++ - Unix系统上C++中的简单glob?

我想检索vector中遵循此模式的所有匹配路径:"/some/path/img*.png"我怎样才能简单地做到这一点? 最佳答案 我的要点是。我在glob周围创建了一个STL包装器,以便它返回字符串vector并负责释放glob结果。效率不是很高,但这段代码更易读,有些人会说更容易使用。#include//glob(),globfree()#include//memset()#include#include#include#includestd::vectorglob(conststd::string&pattern){usingn

c++ - 检查 Unix 中是否存在目录(系统调用)

我无法在网上找到解决问题的方法。我想在Unix中调用一个函数,传入一个目录的路径,并知道它是否存在。opendir()如果目录不存在则返回错误,但我的目标不是实际打开,检查错误,如果没有错误则关闭它,而只是检查文件是目录还是不是。请问有什么方便的方法吗? 最佳答案 在POSIX系统上有两个相关函数:stat()andlstat().这些用于查明路径名是否引用了您有权访问的实际对象,如果是,则返回的数据会告诉您它是什么类型的对象。stat()之间的区别和lstat()是如果你给的名字是一个符号链接(symboliclink),stat

c++ - 使用 C++ 获取 Unix 时间戳

如何在C++中获取uintunix时间戳?我用谷歌搜索了一下,似乎大多数方法都在寻找更复杂的方式来表示时间。我不能将它作为uint获取吗? 最佳答案 C++20引入了保证time_since_epoch与UNIX纪元相关,cppreference.com给出了一个我已经提炼到相关代码的例子,并改为以秒为单位而不是小时:#include#includeintmain(){constautop1=std::chrono::system_clock::now();std::cout(p1.time_since_epoch()).count

javascript - 自Javascript中的unix时代以来,如何以毫秒为单位获取时间?

这个问题在这里已经有了答案:关闭10年前.PossibleDuplicate:HowdoyougetatimestampinJavaScript?Calculatingmillisecondsfromepoch如何在Javascript中获取当前epoch时间?基本上是自1970-01-01午夜以来的毫秒数。 最佳答案 Date.now()以毫秒为单位返回一个unix时间戳。constnow=Date.now();//Unixtimestampinmillisecondsconsole.log(now);在ECMAScript5(即

Unix FIFO 在吗?

有没有办法用Go语言创建一个unixFIFO?os包中没有Mkfifo,也没有Mknod,尽管我预计命名FIFO主要用于posix操作系统。其实有创建未命名的FIFO(管道)的功能,但没有创建命名管道的功能。我是唯一需要它们的人吗? 最佳答案 为了让它在Linux上运行,我只是做了一个syscall.Mknod(fullPath,syscall.S_IFIFO|0666,0)似乎成功了。Here是底层mknod()调用的引用 关于UnixFIFO在吗?,我们在StackOverflow上

go - 如何在 Go 编程语言中可靠地 unlink() Unix 域套接字

我有一个Go程序在localhost:8080上托管一个简单的HTTP服务,因此我可以通过proxy_pass将我的公共(public)nginx主机连接到它>指令,作为反向代理来服务我网站的部分请求。这一切都很好,没有问题。我想将Go程序转换为在Unix域套接字而不是本地TCP套接字上托管HTTP服务,以提高安全性并减少TCP不必要的协议(protocol)开销。问题:问题是Unix域套接字一旦bind()就不能被重用,即使在程序终止之后也是如此。第二次(以及之后的每次)我运行Go程序,它以fatalerror"addressalreadyinuse"退出。通常的做法是在服务器关闭时

sockets - Go 中的 Unix 套接字

我正在尝试制作一个使用Unix套接字的简单回显客户端和服务器。在此示例中,连接似乎是单向的。服务器可以从客户端接收数据,但不能将数据发回。如果我改用tcp连接,它会很好用。有谁知道怎么回事?服务器packagemainimport"net"import"fmt"funcechoServer(cnet.Conn){for{buf:=make([]byte,512)nr,err:=c.Read(buf)iferr!=nil{return}data:=buf[0:nr]fmt.Printf("Received:%v",string(data))_,err=c.Write(data)iferr

unix - 获取 Go 语言中的 Unix 时间戳(当前时间,以秒为单位)

我有一些用Go编写的代码,我正在尝试更新这些代码以使用最新的每周构建。(它最后是在r60下build的)。现在一切正常,除了以下一点:ift,_,err:=os.Time();err==nil{port[5]=int32(t)}关于如何更新它以与当前的Go实现一起使用的任何建议? 最佳答案 import"time"...port[5]=time.Now().Unix() 关于unix-获取Go语言中的Unix时间戳(当前时间,以秒为单位),我们在StackOverflow上找到一个类似的

go - 如何将 unix 时间戳解析为 time.Time

我正在尝试解析Unixtimestamp但我超出范围错误。这对我来说真的没有意义,因为布局是正确的(如Go文档中所示):packagemainimport"fmt"import"time"funcmain(){tm,err:=time.Parse("1136239445","1405544146")iferr!=nil{panic(err)}fmt.Println(tm)}Playground 最佳答案 time.Parse函数不做Unix时间戳。相反,您可以使用strconv.ParseInt将字符串解析为int64并使用time

linux - 如何在 unix 中杀死 tty

这是finger命令的结果(今天(星期一)我(Vidya)登录时)sekic1083[6:14am][/home/vidya]->fingerNameTtyIdleLoginTimeWhereFelixpts/0-Thu10:06sekic2594.rnd.ki.sw.johnpts/12dFri15:43john*pts/22dFri15:43john*pts/34Fri15:44john*pts/7-Thu16:25Vidyapts/0-Mon06:14Vidya*pts/5-Mon06:14Vidya*pts/6-Tue10:13Vidya*pts/9-Wed05:39Vidya