Articles of Linux操作系统

GNU-getline:关于EOF的奇怪行为

testing 为了findgetline()在面对EOF时的行为,我写了下面的testing: int main (int argc, char *argv[]) { size_t max = 100; char *buf = malloc(sizeof(char) * 100); size_t len = getline(&buf, &max, stdin); printf("length %zu: %s", len, buf); } 而input1是: a b c Ctrl-D Enter 结果: length 4: abc //notice that '\n' is also taken into consideration and printed input2: a b c […]

Linux的蓝牙l2ping信号强度(不连接?)

对于这里的任何Linux的BlueZ / BT专家: 我正在寻找一种方式来“知道”已知的BT设备(已知的BDADDR),如果他们在范围内,我想知道近似的信号强度。 我知道我可以先运行l2ping,然后build立到设备的连接,最后检查rssi或链接质量,如果连接没有先配对。 然而,我正在寻找的是一种获得信号强度的方式,而无需先连接到设备。 完美的是来自l2ping回复数据包的信号强度测量,但我不知道这个信息是否可用,并沿着堆栈传递。

Ubuntu的Java:find一个特定的程序的PID和杀死程序

我试图做一个应用程序,检查这个特定的应用程序是否正在运行,然后在指定的时间后终止应用程序。 我打算获得应用程序的PID。 我怎样才能得到应用程序的PID? 谢谢

使用mmap增加文件的大小

在Windows上的Python中,我可以通过创build一个大文件 from mmap import mmap f = open('big.file', 'w') f.close() f = open('big.file', 'r+') m = mmap(f.fileno(), 10**9) 现在big.file是(大约)1千兆字节。 但在Linux上,这将返回ValueError: mmap length is greater than file size 。 有没有办法像在Windows上一样在Linux上获得相同的行为? 也就是说,能够使用mmap增加文件的大小?

如何查找名称中带有方括号的文件

我试图find一些方括号的文件,但我似乎无法得到它的工作。 我的文件命名是这样的: [ABC]testingfile.txt 正则expression式我试着: find . -iregex '\[abc\].*test.*' 这似乎不工作出于某种原因。 如果我把它replace – find . -iregex '.*abc.*test.*' – 它工作正常。 所以问题在于方括号。 有任何想法吗?

卷起多部分/表单数据和JSON

有没有办法使用curl做一个multipart/form-data文章,并指定数据是application/json ? 它不一定是curl。

将ASP.Net Web Forms项目部署到Fedora 24

这是我目前的设置: 我的本地计算机:这是我创build和编程我的ASP.Net WebForms项目与启用Cloudflare灵活SSL在Windows 10上使用visual studio 2015 professional。我也有团队资源pipe理器启用意味着我的项目同步到Github和我的所有文件也存储在我自己的存储库中。 我的服务器计算机:运行Fedora 24,我已经为ASP.Net安装了dotnet CLI(又名.Net Core), apache(httpd),nginx和Mono 。 我想部署/发布和托pipe我的webforms项目在这台计算机上的默认web目录(/ var / www / html / mysite /) 问题是,dotnet cli依赖于一个project.json并且与WebForms不兼容 。 .Net核心基本上不是一个选项 。 当我使用mod_mono时,如果在使用命令xsp4 –port 9000运行服务器的情况下连接到https:// localhost:9000 / ,则会出现Error 500 (请参见下文)。 我不能使用xsp4 –port 80或xsp4 –port 443因为它声称Address is already in use即使httpd是监听这些端口的唯一进程。 请注意,我可以使用 xbuild 命令 成功构build项目 。 我如何从github或我的本地计算机上取得我的项目并将其部署到我的服务器计算机上? 我错过了什么吗? 这里是我的虚拟主机configuration参考: httpd.conf 。 启动httpd.service时,我通常不会遇到任何错误。 […]

什么是一个好的Linux退出错误代码策略?

我有几个独立的可执行Perl,PHP CLI脚本和C ++程序,我需要开发一个退出错误代码策略。 这些程序由其他程序使用我创build的用于在PHP中使用exec()的封装类来调用。 所以,我将能够得到一个错误代码。 基于那个错误代码,调用脚本将需要做一些事情。 我已经做了一些研究,看起来1-254(或者只是1-127)范围内的任何事情对于用户定义的错误代码来说都是公平的游戏。 我只是想知道在这种情况下其他人是如何处理error handling的。

为共享库文件(* .so)生成头文件(* .h)

我有共享库文件( libmylib.so ),但没有头文件( mylib.h )。 你知道一些方法/工具从共享库文件生成这个头文件吗?

在Mac OS X上使用AWK分割文件

我想在特定的分隔符上使用AWK拆分文件。 awk代码如下所示: awk '/SEPARATOR/{n++}{print > "part" n ".txt" }' in.txt 这个代码在我的Linux系统上完美的工作。 但是,当在Mac OS X上运行完全相同的代码时,出现以下错误: awk: syntax error at source line 1 context is /SEPARATOR/{n++}{print > "part" >>> n <<< ".txt" } awk: illegal statement at source line 1 我认为这是在OS X附带的awk和Linux的mawk之间的某种区别。 在打印中删除string连接可以让awk程序在两个平台上工作,但我更愿意保留前缀和surfix。 如何编写一个awk程序,将分隔符上的文件分成多个编号的部分,并在两个平台上工作?