Tag: linux

如何在文件的开头插入文本?

到目前为止,我已经能够find如何在文件的开头添加一行,但这不完全是我想要的。 我会用一个例子来展示它 文件内容 some text at the beginning 结果 <added text> some text at the beginning 这是相似的,但我不想创build任何新的线路… 如果可能,我想用sed来做。

分离与可连接的POSIX线程

我一直在使用pthread库在C中创build和连接线程。 什么时候应该从一开始就创build一个脱离的线程? 它是否提供任何性能优势与可连接的线程? 不在可连接(默认)线程上执行pthread_join()是否合法? 或者这样的线程应该在pthread_exit()之前始终使用detach()函数?

errno是线程安全的吗?

在errno.h ,这个variables被声明为extern int errno; 所以我的问题是,在multithreading代码中调用或使用perror()后检查errno值是否安全。 这是一个线程安全variables? 如果不是,那么最后的select是什么? 我在x86架构上使用linux和gcc。

nohup和&符有什么区别?

nohup myprocess.out &或myprocess.out &设置myprocess.out在后台运行。 在closuresterminal之后,该过程仍在运行。 他们之间有什么区别?

使用BlueZ堆栈作为外设(广告客户)

目标 :使用BlueZ和蓝牙4LEencryption狗创build一个外设,宣传蓝牙等价物“Hello World”。 我在哪里 :目前我已经获得BlueZ堆栈设置并下载了,我可以使用hci工具来识别并查看蓝牙适配器。 我已经用hviconfig leadv修饰过,但是我只是不太明白/理解发生了什么。 我认为我需要什么帮助 :我需要把它带到下一步。 如果任何人都可以指向我一个很好的资源,走过这个,或任何东西,这将不胜感激。 如果我需要做额外的行程(search)工作,我可以,但是我已经用Google和Googlesearch了这个问题的许多不同衍生物。 *我把它标记为CoreBluetooth,希望iOS开发者可以在某个时候修正它。 编辑:在回应评论时,陈述我的最终目标是什么是审慎的。 我最终希望通过encryption狗广告最简单的简单消息/信号,并在iOS设备(CoreBluetooth)上select。 我已经能够使iOS的一切运行良好(与Linux的一面相比文件吨),但对我来说,困难的部分是作为一个外设得到这个适配器设置。 BlueZ堆栈对我来说是一个可怕的谜团。 编辑:经过更多的挖掘,我最终偶然发现了这个职位: 树莓派蓝牙4.0连接 。 这导致我走向了GATT服务器的主题,我将继续追求这个话题。 编辑:好,所以我的学习继续下去。 在过去的几天里,我深入了解了hci *,sdptool和gattool工具。 我已经到了能够设置适配器来宣传“hciconfig hci0 leadv”的地步。 在这一点上,我可以成功地“看”适配器,但是我实际上无法读取任何东西。 我甚至没有看到友好的名字。 我会继续卡车,但一如既往,任何帮助/build议都比欢迎。 编辑:相关链接,蓝牙LE关于iOS的全面概述。 https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/AboutCoreBluetooth/Introduction.html#//apple_ref/doc/uid/TP40013257-CH1-SW1 最后编辑:嘿所有,这个链接涵盖了如何使用Raspberry Pi + BlueZ创build一个iBeacon … http://www.wadewegner.com/2014/05/create-an-ibeacon-transmitter-with-the-rasberry -pi /

如何从Linux shell运行一个与当前不同的工作目录的程序?

使用Linux shell,如何从当前工作目录中启动一个具有不同工作目录的程序? 例如,我有一个二进制文件helloworld ,在当前目录下创build文件hello-world.txt 。 该文件位于目录/a 。 目前我在目录/b 我想开始运行我的程序../a/helloworld并在第三个目录/cfindhello-world.txt 。

使用命令行redirect进程启动后的STDERR / STDOUT?

在shell中你可以做redirect, > <等等,但是在程序启动后怎么样? 这是我来问这个问题,在我的terminal后台运行一个程序不断输出恼人的文字。 这是一个重要的过程,所以我必须打开另一个shell来避免文本。 我希望能够>/dev/null或其他redirect,所以我可以继续在同一个shell中工作。

Unix用Tab分隔符sorting

我有以下格式的数据: foo<tab>1.00<space>1.33<space>2.00<tab>3 现在我试图按照最后一个字段的顺序逐步对文件进行sorting。 我尝试了下面的命令,但没有按照我们的预期sorting。 $ sort -k3nr file.txt # apparently this sort by space as delimiter $ sort -t"\t" -k3nr file.txt sort: multi-character tab `\\t' $ sort -t "`/bin/echo '\t'`" -k3,3nr file.txt sort: multi-character tab `\\t' 什么是正确的方法来做到这一点? 这里是示例数据 。

为什么打印输出速度太慢? 它可以加快吗?

我总是惊讶/沮丧,用打印语句简单地输出到terminal需要多长时间。 经过最近的一些痛苦的缓慢采伐之后,我决定调查一下,发现几乎所有的时间都在等待terminal处理结果,我感到非常惊讶。 可以写入标准输出速度加快? 我写了一个脚本(在这个问题的底部的' print_timer.py ')来比较将100k行写入标准输出到文件,并将标准输出redirect到/dev/null时的时序。 这是时间的结果: $ python print_timer.py 这是一个testing 这是一个testing <剪切99997行> 这是一个testing —– 时间总结(每个10万行) —– 打印:11.950秒 写入文件(+ fsync):0.122秒 用stdout = / dev / null打印:0.050秒 哇。 为了确保python不会在幕后做一些事情,比如认识到我把stdout重新分配给了/ dev / null或者什么的,我在脚本之外做了redirect。 $ python print_timer.py> / dev / null —– 时间总结(每个10万行) —– 打印:0.053秒 写入文件(+ fsync):0.108秒 用stdout = / dev / null打印:0.045秒 所以这不是一个python技巧,它只是terminal。 我一直知道倾销输出到/ dev / null加快了速度,但从来没有想到这是显着的! […]

Docker无法连接到docker守护进程

在将我的Docker版本更新到0.8.0 ,inputsudo docker version出现错误消息: Client version: 0.8.0 Go version (client): go1.2 Git commit (client): cc3a8c8 2014/02/19 12:54:16 Can't connect to docker daemon. Is 'docker -d' running on this host? 我按照说明进入命令sudo docker -d ,我得到这个: [/var/lib/docker|2462000b] +job initserver() [/var/lib/docker|2462000b.initserver()] Creating server open /var/lib/docker/aufs/layers/cf2414da53f9bcfaa48bc3d58360d7f1cfd3784e4fe51fbef95197709dfc285d: no such file or directory[/var/lib/docker|2462000b] -job initserver() = ERR (1) 2014/02/19 12:55:57 initserver: open […]