Tag: linux

使用0x符号的数字是什么意思?

数字上的0x前缀是什么意思? const int shared_segment_size = 0x6400; 它来自于一个在linux上编写的C程序。 我一直没有处理像0x6400这样的整数很长时间,不能记得它的含义,尤其是字母x含义。

如何限制我的网站的API用户?

我的网站的合法用户偶尔会通过API请求攻击服务器,导致不良结果。 我想每隔5秒发一个API调用或每分钟n个调用一个限制(还没有计算出确切的限制)。 我显然可以logging数据库中的每个API调用,并对每个请求进行计算,看看它们是否超出限制,但所有这些额外的开销,每一个请求都将失败的目的。 还有哪些其他资源密集型的方法可以用来制定一个限制? 我正在使用PHP / Apache / Linux,它是值得的。

Unix的标准目录把自定义的可执行文件或脚本?

如果我有一个自定义的shell脚本或程序,我创build了自己的或从网上下载的,我希望能够从CLI执行这个脚本,是否有标准的位置把它放在Linux / Unix目录结构中? /usr/bin ? /usr/local/bin ? /usr/lib ? /usr/sbin ? /bin ? /sbin ? /var ? 我通常把它放在我的〜/ bin文件夹下,并放在PATH中,但看起来并不干净。 每次我下载一个新的程序,我都必须再次把它放在PATH中。

消息队列在linux中是否过时?

我最近在Linux上一直在玩消息队列(System V,但是POSIX应该也可以),而且对于我的应用程序来说它们看起来非常完美,但是在阅读了Unix编程的艺术之后,我不确定它们是否真的是一个好select。 http://www.faqs.org/docs/artu/ch07s02.html#id2922148 System V IPC的高层消息传递层已经基本没有使用。 由共享内存和信号量组成的较低层在需要在同一机器上运行的进程之间进行互斥locking和一些全局数据共享的情况下仍然具有重要的应用。 这些System V共享内存设备演变成POSIX共享内存API,在Linux,BSD,MacOS X和Windows下支持,但不是经典的MacOS。 http://www.faqs.org/docs/artu/ch07s03.html#id2923376 System V IPC设施存在于Linux和其他现代Unix中。 但是,由于它们是遗留function,所以不经常使用。 到2003年中,Linux版本仍然存在漏洞。 似乎没有人愿意解决这些问题。 在更新的Linux版本中,System V消息队列仍然是错误的? 我不确定作者是否意味着POSIX消息队列应该正常? 似乎socket是几乎所有东西(?)的首选IPC,但我不明白用socket或其他方法实现消息队列将会如何简单。 还是我想太复杂? 我不知道是否与embedded式Linux相关?

如何删除CLOSE_WAIT套接字连接

我写了一个小程序,与特定端口上的服务器进行交互。 该程序工作正常,但: 一旦程序意外终止,并从该套接字连接显示在CLOSE_WAIT状态。 如果我尝试运行一个程序,它会挂起,我必须强制它closures,这会累积更多的 CLOSE_WAIT套接字连接。 有没有办法刷新这些连接?

如何编写一个信号处理程序来捕获SIGSEGV?

我想写一个信号处理程序来捕获SIGSEGV。 我保护一块内存以供读取或写入使用 char *buffer; char *p; char a; int pagesize = 4096; mprotect(buffer,pagesize,PROT_NONE) 这可以保护从缓冲区开始的页面缓冲区的任何读写操作。 其次,我尝试阅读记忆: p = buffer; a = *p 这将生成一个SIGSEGV,我的处理程序将被调用。 到现在为止还挺好。 我的问题是,一旦处理程序被调用,我想通过做改变访问写入的内存 mprotect(buffer,pagesize,PROT_READ); 并继续我的代码正常运作。 我不想退出这个function。 在未来写入相同的内存,我想再次捕捉信号,并修改写权限,然后logging该事件。 这里是代码 : #include <signal.h> #include <stdio.h> #include <malloc.h> #include <stdlib.h> #include <errno.h> #include <sys/mman.h> #define handle_error(msg) \ do { perror(msg); exit(EXIT_FAILURE); } while (0) char *buffer; int […]

CLI的pdf查看器的Linux

嘿,现在有一段时间了,我正在寻找命令行的PDF查看器。 由于我喜欢在Linux上不使用X,并且经常在远程机器上工作,所以我想要一个工具来阅读pdf。 有很多非常好的graphics程序(evince,okular,acroread,…)来完成这个工作,所以我认为至less应该有一个体面的文本模式工具。 但我甚至不知道一个糟糕的! 目前,我要么从X开始只读pdf,要么使用pdftohtml + lynx。 然而,后者不会产生很好的输出,而且大多数文件都是不可读的,特别是如果它们包含math公式的话。 谷歌充满了人们说这是不可能的或build议pdftohtml版本。 我意识到,这不完全是一个编程问题,但我现在正在考虑启动一个项目来实施这样一个计划,除非已经有一个好的计划。 感谢您的任何build议。

离子android构build错误 – 无法find“ANDROID_HOME”环境variables

我正在尝试在linux中为离子build立android,但是它向我展示了这样一个错误 [Error: Failed to find 'ANDROID_HOME' environment variable. Try setting setting it manually. Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to include path to valid SDK directory.] ERROR building one of the platforms: Error: /home/kumar/myapp/platforms/android/cordova/build: Command failed with exit code 2 You may not have the required environment or OS […]

如何find几分钟前访问/创build的文件

我总是忘记我在一分钟前编辑哪个文件,所以我inputfind . -cmin 1 find . -cmin 1或其他一些值,但它只能运行1分钟。 我必须尝试find . -ctime 2 /*or 3,4…*/ find . -ctime 2 /*or 3,4…*/ 。 然后我发现另一种更好的方法: touch -t 12251134 empty /*similar format which 5 or 10 minutes ago */ find . -newer empty 我可以使用date -d'-5minutes' +%m%d%H%M为我计算时间。 我想知道是否有一个简单的方法来查找访问1,2或3分钟前的文件。

sed初学者:改变文件夹中的所有事件

我需要做一个正则expression式查找并replace文件夹(及其子文件夹)中的所有文件。 什么是Linux shell命令来做到这一点? 例如,我想在所有文件上运行这个文件,并用新的replace文本覆盖旧文件。 sed 's/old text/new text/g'