Articles of Linux操作系统

如何增加内核定时器的频率

我想测量我的驱动程序代码(Linux版本3.4)中的一些语句之间的时间。 我使用jiffieslogging计数器的开始和结束,然后转换为毫秒。 默认情况下, HZ值被定义为128 ,其精度仅为7毫秒 (即对于计数器中的每个增量1 ,相应的时间将增加7毫秒 ) 如果我把HZ的值增加到1000 ,我可以得到1ms的精度。 我应该修改内核代码中的一些语句。 到目前为止,我已经试过这些东西,但徒劳无功 在arch/arm/include/asm/param.h , 我replace了 #define HZ CONFIG_HZ 同 #define HZ 256 。 还有其他的陈述要修改吗?

子目录不会使用Rsync Linux复制到远程服务器

我尝试使用rsync和incrontab将目录和文件复制到远程Linux机器。 它工作正常复制文件到远程服务器。 Incrontab /data/AMOS_SHARE/CHV_BE/ IN_MODIFY,IN_CREATE,IN_DELETE,IN_CLOSE_WRITE,IN_MOVE /data/AMOS/jboss/chv_rsync.sh Rsync的 #!/bin/bash chmod -R 775 /data/AMOS_SHARE/CHV_BE rsync -avuzh /data/AMOS_SHARE/CHV_BE/ jboss@xx.xx.xx.xx:/data/AMOS_SHARE/CHV_BE/ 我在/data/AMOS_SHARE/CHV_BE/文件夹中创build了一些文件。 它工作正常,以及我创build文件夹中,它也工作正常。 但是,每当我创build一个子文件夹中的文件,它不工作。 请帮我一下

如何从基于Linux的Hadoop客户端使用Azure blob存储?

这是我的设置: 带有wasb://mybucket HDInsights Hadoop集群设置为默认的FS。 安装有HDP 2.2 RPM软件包的CentOS虚拟机。 (让我们称之为client1) 我想要做的是: local1 > ssh client1 client1> hadoop fs -ls / #list contents of blob storage bucket. 我已将以下密钥从hdinsights头节点上的core-site.xml复制到/etc/hadoop/conf/core-site.xml : fs.defaultFs – wasb:// … fs.azure.account.key.mybucket.blob.core.windows.net – 随机string fs.azure.account.keyprovider.mybucket.blob.core.windows.net – …ShellDecryptionKeyProvider 不幸的是,这需要一个ShellDecryptionKeyProvider来呼叫。 在Windows上,这是一个命令行可执行文件。 我不知道如何为Linux提供。 这是输出: [rathboma@client1 yum.repos.d]$ hadoop fs -ls / 15/03/04 23:02:12 INFO impl.MetricsConfig: loaded properties from hadoop-metrics2.properties 15/03/04 […]

如果其他列的AWK写入到新列的基础上

我有一个列A,B,C,D的CSV文件。 D列包含0到1的值。我想用AWK在列D中的值写入一个新的E列。 例如: 如果列D中的值<0.7,则列E中的值= 0。 如果列D> = 0.7中的值,则列E = 1中的值。 我能够打印列E的输出,但不知道如何写入到一个新的列。 它可能写我的代码的输出到一个新的文件,然后粘贴回旧文件,但我想知道是否有一个更有效的方法。 这是我的代码: awk -F"," 'NR>1 {if ($3>=0.7) $4= "1"; else if ($3<0.7) $4= "0"; print $4;}' test_file.csv

安装PECL失败,raphf.so找不到

我正在尝试在运行Ubuntu 14.10和php 5.5.9-1ubuntu4.11的VPS上安装MediaWiki 。 我使用本指南安装了php5。 现在我正在看MediaWiki安装文件。 它告诉我缺less可选的PECL:“警告:intl PECL扩展不可用于处理Unicode标准化,回落到慢的纯PHP实现。 phpinfo()证实了这一点(CTRL + F为“PECL”= 0命中)。 但是,如果我运行sudo pecl install pecl_http我得到一个错误: … checking for ext/raphf support… no configure: error: Please install pecl/raphf and activate extension=raphf.so in your php.ini ERROR: `/tmp/pear/temp/pecl_http/configure –with-http-zlib-dir=/usr –with-http-libcurl-dir=/usr –with-http-libevent-dir=/usr –with-http-libidn-dir=/usr' failed 与上一个SO上的问题相同的错误 。 我已经尝试了所有在答案中提到的事情,包括将三个“extension =”行添加到php.ini中。 试图安装raphf导致: sudo pecl install raphf pecl/raphf is already installed and is […]

select()半开放套接字不返回close()?

我在没有超时select(sock+1, &rfd, NULL, NULL, NULL)阻塞套接字上做select() select(sock+1, &rfd, NULL, NULL, NULL) 。 这发生在一个线程,其目标是调度传入的数据。 另一个监视线程正在pipe理对等体的活动状态,当它检测到死连接时,它将closures套接字。 在这种情况下,我期待select()返回-1 。 它在Windows上执行,但从不在Linux上执行,所以当对方不正常地消失时,调度线程永远被locking。 为了完整性,还有未完成的数据要传输,我试图与SO_LINGER玩,但这并没有改变任何东西。 这个问题可以通过在select()设置一个超时来解决,在这种情况下close和timeout之后, select()最终以-1退出,但是我认为,阅读文档时select()没有超时仍然会退出closures,即使对方没有回应。 我误用了select()还是有更好的方法来处理半开放式套接字?

如何创build具有依赖关系的Python项目的安装程序/安装程序?

我用GUI创build了一个简单的软件。 它有几个源文件。 我可以在我的编辑器中运行该项目。 我认为它已经准备好了1.0版本。 但我不知道如何为我的软件创build安装程序/安装程序。 源是python。 环境是Linux(Ubuntu)。 我使用了一个没有标准Python库的外部库。 我如何创build安装程序,以便将源代码分发到tar文件中。 用户通过运行安装程序/安装程序文件将软件安装到他的机器上(Linux)? 请注意 :运行安装程序时,它应该自动处理相关性。 (另外,我不想构build一个用于分发的可执行文件。)类似于键入时发生的情况: sudo apt-get install XXXX

Linux的munmap不工作(或至less不能立即工作)

我打电话munmap没有错误,但映射仍然visibe在/proc/<pid>/maps ,当我试图mmap(address_overlapping_with_what_I_tried_to_munmap, …)我没有得到我要求的地址。 这是一个错误或function? 有什么我可以做,以确保一些未映射? 详细信息:32位Linux 4.1.18 编辑 最初,地图条目是 bfe50000-bfe71000 rw-p 00000000 00:00 0 然后我使用参数0xbfe50000, 0x21000调用munmap 入口是 bfe50000-bfe50000 rw-p 00000000 00:00 0

如何在同一个linux系统上有不同的lua版本

我想在Fedora 23编译VLC。我有Lua 5.3.3。 ./configure告诉我,我需要Lua 5.1或Lua 5.2。 我可以在同一个系统上使用5.1和5.3.3而不破坏内容吗? 如果是这样,怎么样?

如何自动化多服务Web应用程序的Docker开发环境启动(在Linux上)

我现在必须执行以下9个步骤才能在Ubuntu 16.04上使用Docker启动我的开发堆栈,然后才能开始编写代码: 打开一个terminal,并进入服务#1的源代码目录 docker – 编写服务#1(Python / Django,Redis和Postgres容器) docker exec service1 bash; 启动Django dev服务器进行debugging 重复服务#2,使用terminal标签保持组织 打开一个terminal,并进入前端Angular应用程序源目录 用npm运行一个webpack dev服务器 打开一个或多个terminal,并cd到相应的源代码目录进行编辑 我尝试编写一个shell脚本,用gnome-terminal –tab -e "bash -c docker-compose up"等方式启动所有的东西,但是这样会变得笨拙,在尝试shell到容器中运行时会失败,例如gnome-terminal –tab -e "bash -c \"docker-compose exec service1 bash -c rundev.sh \"" 。 我也尝试过使用xdotool ,但是由于某种原因它无法识别xdotool shellterminal标签。 在两个后端服务上运行一个SPA,并在三个代码库上进行本地开发,对于Docker应用程序开发来说,这似乎不是一个奇怪的用例。 有没有人有任何build议的工具或替代开发环境设置简化的东西?